1.拉取nginx 镜像
docker pull nginx
查看镜像
docker images
- 创建挂载目录
mkdir -p /usr/local/docker/nginx/conf
mkdir -p /usr/local/docker/nginx/log
mkdir -p /usr/local/docker/nginx/html
容器中的nginx.conf文件和conf.d文件夹复制到宿主机。 注意,这里一定要保证你的nginx容器已经运行起来了!!
docker run --name nginx -p 80:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/docker/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/docker/nginx/
-
创建Nginx容器并运行
直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx
docker run -p 80:80 --name nginx
-v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d
-v /usr/local/docker/nginx/log:/var/log/nginx
-v /usr/local/docker/nginx/html:/usr/share/nginx/html -d nginx:latest
命令 | 描述 |
---|---|
–name nginx | 启动容器的名字 |
-d | 后台运行 |
-p 80:80 | 将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口 |
-v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf | 挂载nginx.conf配置文件 |
-v /usr/local/docker/nginx/conf/conf.d:/etc/nginx/conf.d | 挂载nginx配置文件 |
-v /usr/local/docker/nginx/log:/var/log/nginx | 挂载nginx日志文件 |
-v /usr/local/docker/nginx/html:/usr/share/nginx/html | 挂载nginx内容 |
nginx:latest | 本地运行的版本 |
- 防火墙
[root@iZ2ze010hmowg82k9bg96oZ nginx]# firewall-cmd --add-port=80/tcp --permanent
success
[root@iZ2ze010hmowg82k9bg96oZ nginx]# systemctl restart firewalld
[root@iZ2ze010hmowg82k9bg96oZ nginx]# firewall-cmd --zone=public --list-ports
3306/tcp 6379/tcp 5672/tcp 15672/tcp 80/tcp
[root@iZ2ze010hmowg82k9bg96oZ nginx]#
5.结果