Docker Compose 部署 Nginx
编写docker-compose.yml文件
version: '3' #指定版本
services: #服务根节点
nginx: #jenkins服务/其他服务(web服务/nginx服务等)
image: nginx:1.24.0 #nginx镜像,如果镜像容器没有会去自动拉取
container_name: nginx #容器的名称
restart: always #跟随docker的启动而启动
network_mode: "host" #加入宿主机host网络
volumes: #挂载卷命令
- /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf #映射配置文件入口文件
- /root/nginx/html:/usr/share/nginx/html #静态资源根目录挂载
- /root/nginx/logs:/var/log/nginx #日志文件挂载
- /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf #映射配置文件
- /root/nginx/cert:/etc/nginx/cert #映射ssl文件
#ports:
# - 90:90 #宿主主机端口80 映射到 容器端口80
# - 8090:8090
部署
准备工作
Nginx 需要拷贝nginx配置文件、入口文件,否则挂载时会因为没有配置文件而启动失败。
创建目录©示例文件
$ mkdir -p nginx
$ cd nginx
$ mkdir -p conf logs html conf.d crt
nginx.conf文件上传到 /root/nginx/conf
目录下面
default.conf 文件上传到 /root/nginx/conf.d
目录下面
index.html、50x.html 文件上传到 /root/nginx/html
目录下面
通用的配置文件模板
说明: 本示例将nginx包内所需的文件全部挂载到了宿主主机上,并且提供了对应的通用模板,在自身使用环境中,其实只需挂载
/root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
#映射配置文件入口文件/root/nginx/logs:/var/log/nginx
#日志文件挂载/root/nginx/html:/usr/share/nginx/html
#静态资源根目录挂载 因为配置文件、和静态资源的内容需要根据自身的情况在宿主主机上定义位置和内容,本示例为了方便演示提供了全部的模板
启动nginx
将 docker-compose.yml
文件上传到Linux服务器 /root/nginx
目录下,
$ cd /root/nginx
$ docker compose up -d #后台运行
[+] Running 1/1
⠿ Container nginx Started
启动完成后,能够访问nginx的80即可
修改nginx默认端口
修改 default.conf
中的80端口,改为自己需要的即可
添加监听
在 nginx.conf
中加入需要监听的端口及内容即可
http{
server{
#内容...
localhost / {
#内容...
}
}
#HTTPS
server{
#内容...
localhost / {
#内容...
}
}
}
docker compose 重启容器命令
cd nginx #进入nginx目录
docker compose restart nginx #重启
docker compose stop nginx #停止
docker compose start nginx #启动
docker compose exec nginx nginx -s reload #重新加载配置文件
评论区