新手入门 6. Docker 服务编排

2023年 8月 1日 40.9k 0

一、服务编排概念

image.png
服务编排:按照一定的业务规则批量管理容器。

二、Docker Compose

image.png

2.1 安装 Docker Compose

centos7 系统安装

# Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置文件可执行权限 
chmod +x /usr/local/bin/docker-compose
# 查看版本信息 
docker-compose -version

ubuntu18.04 系统安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

# 验证安装
docker-compose version

2.2 卸载 Docker Compose

# 二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose

2.3 使用docker compose编排nginx+springboot项目

  • 创建docker-compose目录
  • mkdir ~/docker-compose
    cd ~/docker-compose
    
  • 编写 docker-compose.yml 文件
  • version: '3'
    services:
      nginx:
       image: nginx
       ports:
        - 80:80
       links:
        - app
       volumes:
        - ./nginx/conf.d:/etc/nginx/conf.d
      app:
        image: app
        expose:
          - "8080"
    

    参数说明:

    • version:docker-compose 的版本。
    • services:表示你要启动的服务。

    image.png

    此处的 nginx 和 app 可以自定义名字。

    • ports:端口映射。
    • links:当前的nginx项目,可以访问到 app 项目。
    • volumes:数据卷。
    • expose:暴露的端口。
  • 创建./nginx/conf.d目录
  • mkdir -p ./nginx/conf.d
    
  • 在./nginx/conf.d目录下 编写zzy.conf文件
  • server {
        listen 80;
        access_log off;
    
        location / {
            proxy_pass http://app:8080;
        }
       
    }
    

    参数说明:

    • listen 80:监听 80 端口。
    • access_log off:关闭日志。
    • proxy_pass [http://app:8080](http://app:8080):反向代理的地址
      • 如果要访问 80 端口,那么 nginx 的反向代理会直接去 [http://app:8080](http://app:8080)这个地方
      • 此处的 app 为上面 docker-compose.yml 文件中的 image.png
  • 在~/docker-compose 目录下 使用docker-compose 启动容器
  • docker-compose up
    
  • 测试访问
  • http://你云服务器ip/hello
    

    image.png
    若要停止容器:

    docker-compose down
    

    三、扩展

    以下使用 ubuntu18.04 操作系统

    修改 IP 和 DNS

    有时候演示代码会采用多虚拟机模拟分布式场景,为了防止 IP 冲突、无法联网等问题,需要预先设置号主机名、IP、DNS配置

    修改主机名

    • 修改 cloud.cfg防止重启后主机名还原
    vi /etc/cloud/cloud.cfg
    
    # 该配置默认为 false,修改为 true 即可
    preserve_hostname: true
    
    • 修改主机名
    # 修改主机名
    hostnamectl set-hostname deployment # 修改主机名为 deployment

    # 配置 hosts
    cat >> /etc/hosts

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论