目 录CONTENT

文章目录

云原生 | Docker-Compose 容器编排

如风
2022-06-19 / 0 评论 / 1 点赞 / 83 阅读 / 700 字

云原生 | Docker-Compose 容器编排

Docker-compose

负责实现对 Docker 容器集群的快速编排负责实现对 Docker 容器集群的快速编排

当我们有多个容器需要启动的时候,我们可以用 docker-compose 配置docker-compose.yml文件进行容器的管理

Compose 中有两个重要的概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。

Compose 的默认管理对象是项目,通过子命令对项目中的一组容器进行便捷地生命周期管理。

安装

  • 运行以下命令以下载Docker Compose的当前稳定版本:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • 将可执行权限应用于二进制文件: sudo chmod +x /usr/local/bin/docker-compose
  • 卸载: sudo rm /usr/local/bin/docker-compose

常用指令

  • docker-compose --version 查看版本号
  • docker-compose -f docker-compose.yml up -d 在后台启动当前目录下的 docker-compose.yml 文件
  • docker-compose logs -f 查看日志-f是交互式最后
  • docker-compose down 此命令将会停止 up 命令所启动的容器,并移除网络
  • docker-compose stop 停止已经处于运行状态的容器,但不删除它
  • docker-compose start 启动
  • docker-compose restart 重新启动
  • docker-compose images 使用的镜像
  • docker-compose ps 查看当前目录下 Compose 文件 运行的容器
  • docker-compose top 查看各个服务容器内运行的进程。查看各个服务容器内运行的进程。

实战

Gin+MySQL+Redis项目

此时我们已有的东西是:mysql,redis,mall(项目)三个镜像,但是都没有启动,也就是说此时的mysql没有设置密码,数据库

配置docker-compose.yml 文件

version: '2'

services:
  civil:
    build: ./
    image: mall:1.0
    container_name: robking_mall
    restart: always
    environment:
      MYSQL_DSN: "root:123456@tcp/test?charset=utf8&parseTime=True&loc=Local"
    ports:
      - 9999:9999
    depends_on:
      - mysql
      - redis
      
  mysql:
    container_name: robking_mysql
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: test
    volumes:
      - /var/lib/mysql:/var/lib/mysql
    ports:
      - 3306:3306

  redis:
    container_name: robking_redis
    image: redis
    restart: always
    volumes:
      - /usr/local/redis:/usr/local/redis
    ports:
      - 6379:6379

这个文件其实就是将三个镜像运行成容器的指令用文件的方式进行配置,然后运行起来,项目是依赖mysql和redis,所以会先让这两个先启动,然后再启动项目容器

docker-compose -f docker-compose.yml up -d创建并启动三个容器。 -f docker-compose.yml如果文件在当前目录可以省略

20220914022007

1

评论区