点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
拉取镜像
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


本文作者:朱珂珂(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




