docker-compose

本文共--字 阅读约--分钟 | 浏览: -- Last Updated: 2022-07-06

是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。可以管理多个Docker容器组成一个应用,你需要定义一个YAML格式配置文件docker-compose.yml,写好多个容器之间的调用关系,然后只要一个命令就能同时启动/关闭这些容器。

安装

安装docker-compose

# 安装
wget https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-Linux-x86_64

# 移动到
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

# 赋予权限
chmod +x /usr/local/bin/docker-compose

# 查看是否安装成功
docker-compose --version

使用步骤

1、编写Dockerfile定义各个微服务应用并构建出对应的镜像文件

2、使用docker-compose.yml定义一个完整业务单元,安排好整体应用中的各个容器服务。

3、最后,执行docker-compose up命令来启动并运行这个应用程序,完成一键部署上线。

示例

version: '3.1' # docker-compose版本
services:
  mysql:
    image: mysql:5.7.9
    command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    restart: always
    ports:
      - 3306:3306 # 本地映射端口
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      TZ: Asia/Shanghai
    volumes:
      - ~/usr/mysql/data:/var/lib/mysql
      - ~/usr/mysql/conf:/etc/mysql/conf.d
    container_name: my-blog-mysql # 容器名称

常用命令

  • docker-compose -h:查看帮助
  • docker-compose up:启动所有docker-compose服务
  • docker-compose up -d:启动所有docker-compose服务并后台运行
  • docker-compose down:停止并删除容器、网络、卷、镜像。
  • docker-compose exec yml里面的服务id:进入容器实例内部 docker-compose exec 服务id /bin/bash
  • docker-compose ps: 展示当前docker-compose编排过的运行的所有容器
  • docker-compose top: 展示当前docker-compose编排过的容器进程
  • docker-compose logs  yml里面的服务id: 查看容器输出日志
  • docker-compose config: 检查配置
  • docker-compose config -q:检查配置,有问题才有输出
  • docker-compose restart:重启服务
  • docker-compose start:启动服务
  • docker-compose stop:停止服务

Portainer

# 安装
# docker可以进行多个端口映射
docker run -d -p 8000:8000 -p 9000:9000 
  --name portainer --restart=always 
  -v /var/run/docker.sock:/var/run/docker.sock 
  -v portainer_data:/data 
  portainer/portainer

使用 ip:9000 进行可视化页面的访问,并以admin为账户名,设置一个密码以登录。