使用docker-compose如何做nginx服务
作者:我敲BUG
前言
Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具.
除了docker Compose还有一个技术k8s也能实现快速的部署。
可以一键启动,一键停止,非常方便
一.上传nginx配置文件
cd /home 存放软件或者配置文件的位置
mkdir nginx 建立个文件夹专门放nginx的文件
cd nginx 进入文件夹上传配置文件
我用的连接工具可以直接移进去,你们可以用rz上传,如果rz报错的话,可以去网上搜索下载一下rz的命令
二.docker-compose安装与配置
1.上传文件
安装包刚下载过来是docker-compose-Linux-x86_64
需要将docker-compose-Linux-x86_64重命名为docker-compose
将docker-compose文件上传到虚拟机的/usr/local/bin/目录下
cd /usr/local/bin
2.添加可执行权限
chmod +x /usr/local/bin/docker-compose
3.创建并编辑yml文件
touch docker-compose.yml
vi docker-compose.yml 进入文件把以下内容复制进去:
version: '3' services: nginx01: container_name: nginx01 image: nginx ports: - 9998:80 volumes: - /home/nginx/html:/etc/nginx/html - /home/nginx/conf.d:/etc/nginx/conf.d - /home/nginx/log:/var/log/nginx restart: always nginx02: container_name: nginx02 image: nginx ports: - 9999:80 volumes: - /home/nginx/html:/etc/nginx/html - /home/nginx/conf.d:/etc/nginx/conf.d - /home/nginx/log:/var/log/nginx restart: always
4.nginx前置操作
记得关闭防火墙或者开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=80/tcp
5.启动docker-compose
docker-compose up -d
加了 -d 就是后台运行
启动两台服务
6.访问nginx
- 9998端口
- 9999端口
除此之外我们还可以添加自定义网络
6.添加自定义网络
networks: net01: driver: bridge ipam: config: - subnet: 192.168.101.0/24 gateway: 192.168.101.1 net02: driver: bridge ipam: config: - subnet: 192.168.102.0/24 gateway: 192.168.102.1
添加之后,docker-compose.yml文件内容如下:
version: '3' services: nginx01: container_name: nginx01 image: nginx ports: - 9998:80 volumes: - /home/nginx/html:/etc/nginx/html - /home/nginx/conf.d:/etc/nginx/conf.d - /home/nginx/log:/var/log/nginx restart: always networks: - net01 nginx02: container_name: nginx02 image: nginx ports: - 9999:80 volumes: - /home/nginx/html:/etc/nginx/html - /home/nginx/conf.d:/etc/nginx/conf.d - /home/nginx/log:/var/log/nginx restart: always networks: - net01 - net02 networks: net01: driver: bridge ipam: config: - subnet: 192.168.101.0/24 gateway: 192.168.101.1 net02: driver: bridge ipam: config: - subnet: 192.168.102.0/24 gateway: 192.168.102.1
可以同时指定一个容器使用多个网络
networks: - net01 - net02
修改完yml文件之后还可以输入 docker-compose config -q 做一下文件的校验, 执行之后没有报错就说明yml文件时,没有问题的!
7.删除服务并重新执行
执行docker-compose down 删除之前开启的服务
执行docker-compose up -d启动
启动之后还可以执行 docker network ls 查看网络,docker-compose帮你自动创建了两个自定义网络
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。