• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
isuning
博客园    首页    新随笔    联系   管理    订阅  订阅
docker-compose 快速开始

目录

  • docker-compose
    • 安装使用
      • 安装
        • 下载Docker Compose
        • 修改该文件的权限为可执行
        • 查看是否已经安装成功
      • 使用步骤
      • 配置文件
        • image
        • container_name
        • ports
        • volumes
        • environment
        • links
      • 常用命令
        • 构建、创建、启动相关容器
        • 指定文件启动
        • 停止所有相关容器
        • 列出所有容器信息
      • 部署应用

docker-compose

Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。

安装使用

安装

下载Docker Compose

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

修改该文件的权限为可执行

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

如果失败For example:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看是否已经安装成功

docker-compose --version

使用步骤

  • 使用Dockerfile定义应用程序环境,一般需要修改初始镜像行为时才需要使用;
  • 使用docker-compose.yml定义需要部署的应用程序服务,以便执行脚本一次性部署;
  • 使用docker-compose up命令将所有应用服务一次性部署起来。

配置文件

image

指定运行的镜像名称

# 运行的是mysql5.7的镜像
image: mysql:5.7

container_name

配置容器名称

# 容器名称为mysql
container_name: mysql

ports

指定宿主机和容器的端口映射(HOST:CONTAINER)

# 将宿主机的3306端口映射到容器的3306端口
ports:
  - 3306:3306

volumes

将宿主机的文件或目录挂载到容器中(HOST:CONTAINER)

可以使用相对路径

# 将外部文件挂载到myql容器中
volumes:
  - ./mysql/log:/var/log/mysql
  - ./mysql/data:/var/lib/mysql
  - ./mysql/conf:/etc/mysql

environment

添加环境变量。可以使用数组也可以使用字典。布尔相关的值(true、false、yes、no)都需要用引号括起来,以确保 YML 解析器不会将它们转换为真或假。

environment:

 RUOYI_ENV: development

 SHOW: 'true'

 SESSION_SECRET:

或者以下格式:

environment:

 \- RUOYI_ENV=development

 \- SHOW=true

 \- SESSION_SECRET

设置容器的时区,需要添加

environment:
      - TZ=Asia/Shanghai

links

连接其他容器的服务(SERVICE:ALIAS)

# 可以以database为域名访问服务名称为db的容器
links:
  - db:database

常用命令

构建、创建、启动相关容器

# -d表示在后台运行
docker-compose up -d

指定文件启动

docker-compose -f docker-compose.yml up -d

停止所有相关容器

docker-compose stop

列出所有容器信息

docker-compose ps

部署应用

编写docker-compose.yml文件

Docker Compose将所管理的容器分为三层,工程、服务及容器。docker-compose.yml中定义所有服务组成了一个工程,services节点下即为服务,服务之下为容器。容器与容器直之间可以以服务名称为域名进行访问,比如在mall-tiny-docker-compose服务中可以通过jdbc!

version: '3'
services:
  # 指定服务名称
  db:
    # 指定服务使用的镜像
    image: mysql:5.7
    # 指定容器名称
    container_name: mysql
    # 指定服务运行的端口
    ports:
      - 3306:3306
    # 指定容器中需要挂载的文件
    volumes:
      - /mydata/mysql/log:/var/log/mysql
      - /mydata/mysql/data:/var/lib/mysql
      - /mydata/mysql/conf:/etc/mysql
    # 指定容器的环境变量
    environment:
      - MYSQL_ROOT_PASSWORD=root
  # 指定服务名称
  mall-tiny-docker-compose:
    # 指定服务使用的镜像
    image: mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT
    # 指定容器名称
    container_name: mall-tiny-docker-compose
    # 指定服务运行的端口
    ports:
      - 8080:8080
    # 指定容器中需要挂载的文件
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/app/mall-tiny-docker-compose/logs:/var/logs

使用maven插件构建mall-tiny-docker-compose镜像

运行Docker Compose命令启动所有服务

先将docker-compose.yml上传至Linux服务器,再在当前目录下运行如下命令:

$ docker-compose up -d
posted on 2022-05-01 22:16  吕布辕门  阅读(41)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3