1.下载 Nginx 镜像
命令 描述
docker pull nginx 下载最新版 Nginx 镜像` :
2. 创建要挂载的宿主机目录
启动前需要先创建 Nginx 外部挂载的配置文件( /home/nginx/conf/nginx.conf)
之所以要先创建 , 是因为 Nginx 本身容器只存在 / etc/nginx 目录 , 本身就不创建 nginx.conf 文件
当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker 会将 nginx.conf 作为目录创建 , 这并不是我们想要的结果 。
> mkdir -p /home/nginx/conf
>
> mkdir -p /home/nginx/log
>
> mkdir -p /home/nginx/html
3.容器中的 nginx.conf 文件和 conf.d 文件夹复制到宿主机
# 生成容器
docker run --name nginx -p 80: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/
此时会发现宿主机(也就是本机电脑)上的/home/nginx/conf,/home/nginx/log,/home/nginx/html这三个文件夹下已经有容器内的配置文件了
4、创建 Nginx 容器并运行
#停止容器
docker stop nginx
# 删除该容器
docker rm nginx
5.启动容器,并正式挂载对应文件
docker run \
-p 80:80 \
-p 443:443\
--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
然后基础配置已经完成,在地址栏输入localhost:80端口测试一下