使用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国内镜像拉取和镜像加速registry-mirrors配置修改

    详解docker国内镜像拉取和镜像加速registry-mirrors配置修改

    由于国内访问直接访问Docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取
    2017-05-05
  • docker默认路径存储不足解决过程

    docker默认路径存储不足解决过程

    这篇文章主要给大家介绍了关于docker默认路径存储不足的解决过程,Docker存储空间不足的错误通常表明Docker Daemon分配的本地磁盘空间用尽,文中通过代码将解决的办法介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • Docker部署SpringBoot的两种方法

    Docker部署SpringBoot的两种方法

    Docker是一种流行的容器化技术,可以帮助开发人员更轻松地构建、部署和运行应用程序,Spring Boot是一种快速开发框架,可以帮助开发人员更快地构建应用程序,本文主要介绍了Docker部署SpringBoot的两种方法,感兴趣的可以了解一下
    2023-10-10
  • Docker 删除及清理镜像的方法

    Docker 删除及清理镜像的方法

    本文主要介绍了Docker 删除及清理镜像的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 使用Docker安装部署Jenkins教程分享

    使用Docker安装部署Jenkins教程分享

    本文主要讲述了如何通过Docker安装Jenkins以及使用Jenkins部署项目的前置准备,包括配置JDK环境D配置Maven环境D使用Docker安装Jenkins和创建Jenkins容器D安装插件D创建管理员用户D配置JDK和MavenD创建Pipeline构建D等agesDsteps以及脚本式Pipeline等
    2026-04-04
  • Docker 常用命令整理并介绍

    Docker 常用命令整理并介绍

    这篇文章主要介绍了Docker 常用命令的知识,这里介绍了Docker 的操作容器,Image,网络操作,等内容,有需要的小伙伴可以参考下
    2016-10-10
  • 使用Docker安装detectron2的配置方法

    使用Docker安装detectron2的配置方法

    Detectron2 是一个用于目标检测、分割和其他视觉识别任务的平台,下面采用 docker 方式在 windows 上安装,对Docker安装detectron2的配置方法感兴趣的朋友一起看看吧
    2024-03-03
  • Docker-swarm快速搭建redis集群的方法步骤

    Docker-swarm快速搭建redis集群的方法步骤

    本文主要介绍了Docker-swarm快速搭建redis集群的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 解决docker指定udp端口号的问题

    解决docker指定udp端口号的问题

    这篇文章主要介绍了解决docker指定udp端口号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker-compose中变量的使用方式

    docker-compose中变量的使用方式

    这篇文章主要介绍了docker-compose中变量的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01

最新评论