使用docker-compose如何做nginx服务

 更新时间:2024年01月09日 11:22:26   作者:我敲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

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

总结

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

相关文章

  • 如何将Docker的构建时间减少40%(推荐)

    如何将Docker的构建时间减少40%(推荐)

    这篇文章主要介绍了如何将Docker的构建时间减少40%,本文描述了我们在优化CI管道后获得的一些新见解,需要的朋友可以参考下
    2023-11-11
  • Docker出现tag显示none镜像的处理方案

    Docker出现tag显示none镜像的处理方案

    本文介绍了Docker中出现REPOSITORY和TAG都显示为<none>的镜像,即悬挂镜像的原因,并提供了解决方法,包括查找和删除悬挂镜像,以及为它们指定新的标签
    2025-02-02
  • Docker 中的 bootfs、rootfs 简介

    Docker 中的 bootfs、rootfs 简介

    Docker中的bootfs和rootfs是容器文件系统的两个层次,bootfs负责内核启动,而rootfs提供运行环境,容器共享宿主机内核,因此没有独立的bootfs,只使用精简的rootfs,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • docker利用dockerfile构建镜像

    docker利用dockerfile构建镜像

    dockerfile是一种用于定义和构建docker镜像的文本文件,由一行行指令和参数组成,用于描述镜像的构建和配置过程;由基础映像、软件包安装、文件拷贝、环境变量设置等组成
    2024-10-10
  • Docker容器处于Removal in process无法删除问题及解决

    Docker容器处于Removal in process无法删除问题及解决

    这篇文章主要介绍了Docker容器处于Removal in process无法删除问题及解决方案,具有很好的参考价值,希望对大家有所帮助。
    2023-07-07
  • docker将镜像打包为.tar包实现方法

    docker将镜像打包为.tar包实现方法

    使用tar包格式进行压缩,方便在不同的docker主机之间进行迁移和备份,下面这篇文章主要给大家介绍了关于docker将镜像打包为.tar包的实现方法,需要的朋友可以参考下
    2024-07-07
  • Docker命令行入门大全(这18条,你不得不知)

    Docker命令行入门大全(这18条,你不得不知)

    Docker有成千上百万的命令行。因此Docker文档内容十分丰富,同时又让刚入门的新手感到不知所措。在本文中,我将重点介绍运行Docker的关键命令。
    2019-09-09
  • docker安装Jenkins配置Gitee SSH密钥踩坑解决

    docker安装Jenkins配置Gitee SSH密钥踩坑解决

    这篇文章主要为大家介绍了docker安装Jenkins配置Gitee SSH密钥踩坑解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Docker镜像拉取失败问题分析及解决方案

    Docker镜像拉取失败问题分析及解决方案

    在使用Docker时,我们经常需要从Docker镜像仓库中拉取镜像,以便于在本地机器上运行,下面这篇文章主要给大家介绍了关于Docker镜像拉取失败问题分析及解决方案,需要的朋友可以参考下
    2024-08-08
  • IDEA 配置Docker的过程

    IDEA 配置Docker的过程

    这篇文章主要介绍了IDEA 配置Docker的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论