整体步骤:
- 创建并运行容器,且在nginx容器创建时向宿主机挂载出一个空文件夹。
- 进入容器将conf.d移动到向宿主机挂载的空文件夹中。
- 进入向宿主机挂载的空文件夹中,并将conf.d软连接到其原本所在的目录。
拉取nginx镜像
- 先
推荐个网站
,从你开始使用docker就要必备的——DockerHub。一句话说明就是一个镜像大全。 寻找镜像资源
的话就在上面那个网站上搜索就行,版本、下载方式自选。拉取镜像
的话在上面那个网站搜索后,拉取命令docker pull nginx
直接给你了,且nginx无须在意版本,直接拉last版本即可。
创建配置路径
如果你选择容器管理nginx服务的话,请先不要着急启动,先在宿主机新建一个文件夹
,这将是你之后存放nginx配置
的地方。
创建并启动容器
- 控制台执行
docker images
检查镜像是否存在。 - 配置启动命令(创建容器很简单,但是想要好用,需要认真配置)
最终命令:
docker run --name nginx-first -p 90:80 -v /var/dps/nginx:/nginx -d nginx
解释:
docker run nginx
,为生成nginx镜像的容器。
--name nginx-first
,指定容器名称为nginx-first。
-p 90:80
,指将容器中80端口映射到宿主机90端口。
-v /var/dps/nginx:/nginx
,指将容器中nginx某一文件夹挂载到宿主机某一文件夹(左边为宿主机文件夹地址)。
-d
,表示后台运行该容器。
设置nginx配置
- 将容器中nginx默认
conf.d配置文件夹移动到
启动容器命令中预设的挂载目录
中。- 查看容器
docker ps
,进入容器docker exec -it [容器id] /bin/bash
。 - cd到/etc/nginx目录中
cd /etc/nginx
。 - 再将该文件夹下conf.d文件夹移动到你预设的挂载目录中
rm /etc/nginx/conf.d /nginx
。
- 查看容器
- 来到启动容器命令中预设的挂载目录中,
检查是否存在conf.d文件夹
。 - 在预设的挂载目录中,将conf.d文件夹软连接到其原本的位置
ln -s /nginx/conf.d /etc/nginx
。 - 此时即可在
宿主机的挂载目录中操作
nginx容器的default.conf文件或者新增配置文件
了。
nginx配置文件在哪里?
- nginx的配置文件默认是在
etc/nginx
文件夹下,该文件夹下有nginx.conf
、conf.d
两个配置文件夹,一般我们自定义的配置是要放在conf.d
中的,故只需将cong.d
挂载到宿主机即可。 -
如果你非想在自己去找找看,直接执行
docker run -d nginx
为什么不直接将nginx配置文件挂载出来?
我们既然知道了容器中nginx的conf.d文件夹位置,为什么不直接将其挂载出来
,反而要多此一举搞个软连接?其实也不是不行,只是如果我们一上来就拿个空文件夹来挂载conf.d文件夹,会造成覆盖
,使容器中conf.d文件夹也变成空文件夹,间接删除了原有的default.conf文件
,我们还要从其他地方拷一个default.conf过来。