docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > 使用docker-compose做nginx服务

使用docker-compose如何做nginx服务

作者:我敲BUG

这篇文章主要介绍了使用docker-compose如何做nginx服务问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

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

除此之外我们还可以添加自定义网络

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帮你自动创建了两个自定义网络

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文