一 拉取镜像
1.1 下载最新版Nginx镜像 (等同于: docker pull nginx:latest)
docker pull nginx
1.2 下载指定版本的Nginx镜像 (xxx指具体版本号)
docker pull nginx:xxx
二 挂载目录
2.1 启动前需要先创建Nginx外部挂载的配置文件(/home/nginx/conf/nginx.conf)
如果在第一次启动的时候就挂载目录,由于宿主机是空文件,会直接导致Nginx容器内的配置文件被覆盖,导致启动失败。
需要在宿主机创建Nginx挂载目录,将Nginx容器内的目录挂载到宿主机:

-p参数的作用
允许创建多级目录。
2.2 容器中的nginx.conf文件、conf.d文件夹和html文件夹复制到宿主机
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/
三 创建容器并运行
3.1 直接执行docker rm nginx或者以容器id方式关闭容器
找到nginx对应的容器id:
docker ps -a
关闭该容器:
docker stop nginx
删除该容器:
docker rm nginx
删除正在运行的nginx容器:
docker rm -f nginx
3.2 启动nginx
docker run
-p 9002:80
--name nginx
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d
-v /home/nginx/log:/var/log/nginx
-v /home/nginx/html:/usr/share/nginx/html
-d nginx:latest

参数解释:
-p
端口映射,冒号前为宿主机端口,冒号后为容器内的端口,将容器的9002端口映射到主机的80端口;
--name
指定容器名称,本例中名称为 nginx;
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
挂载nginx.conf配置文件;
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d
挂载nginx配置文件;
-v /home/nginx/log:/var/log/nginx
挂载nginx日志文件;
-v /home/nginx/html:/usr/share/nginx/html
挂载nginx内容;
-d
后台运行容器;
nginx:latest
本地运行的版本;
shell命令换行。
3.3 检测结果
curl 127.0.0.1:9002

上一条:VMware三种网络模式:桥接、NAT、仅主机
下一条:没有了!