1. 拉取镜像
docker pull nginx
2. 创建挂载目录
mkdir -p /usr/local/docker/nginx/conf
mkdir -p /usr/local/docker/nginx/log
mkdir -p /usr/local/docker/nginx/html
3. 从容器中复制nginx.conf及conf.d文件夹
# 生成容器
docker run --name nginx -p 9001: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
4. 删除原nginx容器,改用挂载方式启动
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop e9e3f9420512
# 删除该容器
docker rm e9e3f9420512
# 挂载方式启动容器
docker run -p 9001: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
Tips:
# 如果nginx.conf挂载目录下没有nginx.conf文件的话可能会出现以下报错
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "container init exited prematurely".
5. 结果检测
在宿主机html文件夹(/usr/local/docker/nginx/html)下创建index.html文件,随便写点东西
<h1>Nginx Get<h1>
Tips: 因为一开始宿主机html文件夹(/usr/local/docker/nginx/html)下没有index.html文件,因此会出现403异常,手动写一个就好啦。
6. 修改配置
# 如果需要修改默认80端口下的配置,需要进入conf.d文件价修改default.conf文件
# 如果想开个额外的server可直接在nginx.conf下配置
版权声明:本文为weixin_41485724原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。