docker - compose 部署 Nginx
主要介绍 docker 中 Nginx 的部署及项目目录挂载券的方法。docker 中部署一个服务,有三种方法,分别是 docker run、Dockerfile、docker-compose 。
下面用 docker-compose 方法部署 Nginx。
1、准备工作
先在主机创建工作文件夹,为了放置 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
# 查看 容器 获取容器ID 或直接使用名字
docker ps -a
启动容器后,容器内部会生成 Nginx 的配置文件,将其复制到本地对应文件夹内。 # 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 nginx 目录($PWD 当前全路径)
# $PWD=针对上面的文件目录,/usr/local/nginx
docker cp nginx:/etc/nginx/nginx.conf $PWD/
现在,可以删除这个容器了。 # 停止容器
docker container stop nginx
# 删除容器
docker container rm nginx
2、部署容器
开始部署 Nginx 容器,就是上面提到的用第三种方式部署。
创建这个文件,docker-compose.yml 黏贴以下内容。文件放置位置,看上面的目录结构。
version: '3'
services:
nginx:
restart: always
container_name: nginx
image: nginx
ports:
- 1001:80
- 1443:443
volumes:
- /data/front:/usr/share/nginx/html
- /usr/local/nginx/www:/var/www
- /usr/local/nginx/logs:/var/log/nginx
#- /usr/local/nginx/nginx.conf/:/etc/nginx/nginx.conf #不能挂载,不知道为什么,必须手动拷贝配置文件才行
- /usr/local/nginx/etc/cert:/etc/nginx/cert
- /usr/local/nginx/conf.d:/etc/nginx/conf.d
environment:
- NGINX_PORT=80
privileged: true
启动容器
docker-compose up -d
查看创建的容器
docker ps
3、配置 Nginx 的 nginx.conf 文件
这个文件是刚才从容器里拷贝过来的,其实保留默认配置就行不用改任何内容,主要关注最后一行
最后一行表示,这个主配置文件会自动检索其子目录的下所有以 .conf 结尾的文件配置。
所以,你的项目配置可以在其子目录下创建一个以 .conf 结尾的文件来配置就行。
比如,我创建的文件:
├── conf.d
│
├── default.conf
root /usr/share/nginx/html;
这一行,必须这样配置,表示容器里的项目代码放置的目录。
但是,项目代码实际不用放到这里,上面已经做了数据挂载,放到本地上对应的挂载目录下即可。
读后感
来这里找我交流
QQ群:330374464
公众号:软件测试资源站(ID:testpu)
语雀:https://www.yuque.com/testpu/pro
docker - compose 部署 Nginx的更多相关文章
- Docker Compose部署 nginx代理Tomcat集群
一.简介 使用Docker镜像部署Nginx代理的多个Tomcat集群: 使用Dockerfile构建nginx镜像 使用Dockerfile构建tomcat镜像 mysql镜像使用docker hu ...
- Docker Compose 部署Nginx服务实现负载均衡
Compose简介: Compose是Docker容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose,不再需要使用shell脚本来启动容器.Comp ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 在Docker下部署Nginx
在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- 在Windows Server 2019通过Docker Compose部署Asp.Net Core
一.安装Docker Enterprise 安装文档是: https://docs.docker.com/install/windows/docker-ee/ 安装完成后,如下图 二.首先,拉取一个W ...
- 使用Docker Compose 部署Nexus后初次登录账号密码不正确,并且在nexus-data下没有admin,password
场景 Ubuntu Server 上使用Docker Compose 部署Nexus(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...
随机推荐
- NIO中的File
package nio; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files ...
- 用vue实现扫描二维码跳转页面功能
怎么能用vue实现扫描二维码跳转页面功能 1. 安装依赖 npm install vue-qr --save 2. <template> <div> <div ...
- 字节跳动基于Apache Hudi构建EB级数据湖实践
来自字节跳动的管梓越同学一篇关于Apache Hudi在字节跳动推荐系统中EB级数据量实践的分享. 接下来将分为场景需求.设计选型.功能支持.性能调优.未来展望五部分介绍Hudi在字节跳动推荐系统中的 ...
- reids在linux上的安装《四》
linux 安装redis 完整步骤 红色字体在我的Centos上没有设置,因为我设置了密码 安装: 1.获取redis资源 wget http://download.redis.io/release ...
- ubuntu中用update-alternatives进行软件多版本设置、切换,以python配置为例
以Python2.7和Python3.5设置为例: 在系统中添加Python2.7.Python3.5的选项,默认为Python3.5 sudo update-alternatives --insta ...
- Qt5获取系统文件图标,文件路径
获取系统图标: QFileIconProvider icon_provider; QIcon icon = icon_provider.icon(QFileIconProvider::Folder); ...
- vue+Element-ui 的 el-cascader 做高德地图的省市区三级联动并且是异步加载,点击省市区跳转到对应的区(地图可以通过后端返回的点进行标点)
// 完整版高德地图,可以复制代码直接使用 index.html <script type="text/javascript" src="https://webap ...
- Spring Security进阶
Spring Security进阶 1.连接数据库进行数据的验证 Spring Security进行身份验证或者权限控制时,用户名和密码应该要和数据库的进行比较才行,用户的各种信息我们从数据库中去获取 ...
- 关于antd Select 限制选择个数的解决方案
应用场景描述: Select 被form 所包裹,且被getFieldDecorator修饰.所以值的改变应该通过form的setFieldsValue方法. Select模式肯定会是multiple ...
- NOIP模拟38:a
这是T1. 考场上思路与正解就差个前缀,打的线段树,因为其巨大常数快乐挂掉...... 正解复杂度是\(O(n^2m)\),其实再挂个\(log\)也能过,但是需要用常数极其优秀的树状数组 ...