主要介绍 docker 中 Nginx 的部署及项目目录挂载券的方法。docker 中部署一个服务,有三种方法,分别是 docker run、Dockerfile、docker-compose 。
下面用 docker-compose 方法部署 Nginx。
先在主机创建工作文件夹,为了放置 Nginx 的配置文件等。创建文件夹的方法,自己搞定。
[root@dockeruat nginx]# pwd
/usr/local/nginx
[root@dockeruat nginx]# tree
.
├── conf.d
│ ├── default.conf
│── docker-compose.yml
├── etc
│ ├── cert
│ └── letsencrypt
├── html
│ └── index.html
├── logs
│ ├── access.log
│ └── error.log
├── nginx.conf
└── www
└── index.html
先随便启动一个 Nginx 容器(用第一种方法,docker run),主要是为了获取 Nginx 容器内部的配置文件。
#启动一个容器
docker run -d --name nginx nginx
docker ps -a
启动容器后,容器内部会生成 Nginx 的配置文件,将其复制到本地对应文件夹内。
docker cp nginx:/etc/nginx/nginx.conf $PWD/
现在,可以删除这个容器了。
docker container stop nginx
docker container rm nginx
开始部署 Nginx 容器,就是上面提到的用第三种方式部署。
创建这个文件,docker-compose.yml 黏贴以下内容。文件放置位置,看上面的目录结构。
version: '3'
services:
nginx:
restart: always
container_name: nginx
image: nginx
ports:
启动容器
docker-compose up -d
查看创建的容器
docker ps
这个文件是刚才从容器里拷贝过来的,其实保留默认配置就行不用改任何内容,主要关注最后一行
最后一行表示,这个主配置文件会自动检索其子目录的下所有以 .conf 结尾的文件配置。
所以,你的项目配置可以在其子目录下创建一个以 .conf 结尾的文件来配置就行。
比如,我创建的文件:
├── conf.d
│
├── default.conf
root /usr/share/nginx/html;
这一行,必须这样配置,表示容器里的项目代码放置的目录。
但是,项目代码实际不用放到这里,上面已经做了数据挂载,放到本地上对应的挂载目录下即可。
来这里找我交流
QQ群:330374464
公众号:软件测试资源站(ID:testpu)
语雀:https://www.yuque.com/testpu/pro
手机扫一扫
移动阅读更方便
你可能感兴趣的文章