0
点赞
收藏
分享

微信扫一扫

Docker Compose基础应用

Docker Compose

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

安装Docker Compose

使用 uname -a 查看系统架构

x86架构

Docker Compose基础应用_Docker

arm架构

Docker Compose基础应用_Docker_02

x86架构安装

//下载Docker Compose
//文件并不一定要下载到/usr/local/bin目录,主要是看目录是否在环境变量中,如果不在环境变量中那么docker-compose文件就只有在同一文件夹下才能访问
//查看环境变量的设置:echo $PATH
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
//修改该文件的权限为可执行
chmod +x /usr/local/bin/docker-compose
//查看是否已经安装成功
docker-compose --version
//出现以下内容代表成功 docker-compose version 1.24.0, build 0aa59064

arm架构安装

下载地址:https://github.com/docker/compose/releases

找到docker-compose-linux-aarch64 点击下载

Docker Compose基础应用_Docker_03

下载下来的文件名为 docker-compose-linux-aarch64 重命名为 docker-compose,然后上传到服务器 /usr/local/bin目录下

//修改该文件的权限为可执行
chmod +x /usr/local/bin/docker-compose
//查看是否已经安装成功
docker-compose --version
//出现以下内容代表成功 Docker Compose version v2.4.1

使用Docker Compose的步骤

  1. 使用Dockerfile(把jar包和dockerfile上传到服务器然后打包为镜像)定义应用程序环境,或者构建好需要的docker镜像(通过maven插件配合Docker Registry直接在服务器打包为镜像);
  2. 使用docker-compose.yml定义需要部署的应用程序服务,以便执行脚本一次性部署;
  3. 使用docker-compose up命令将所有应用服务一次性部署起来

docker-compose.yml常用命令

# 1.指定运行的镜像名称 运行的是mysql5.7的镜像
image: mysql:5.7
# 2.配置容器名称 容器名称为mysql
container_name: mysql
# 3.指定宿主机和容器的端口映射(HOST:CONTAINER) 将宿主机的3306端口映射到容器的3306端口
ports:
  - 3306:3306
# 4.将宿主机的文件或目录挂载到容器中(HOST:CONTAINER) 将外部文件挂载到myql容器中
volumes:
  - /mydata/mysql/log:/var/log/mysql
  - /mydata/mysql/data:/var/lib/mysql
  - /mydata/mysql/conf:/etc/mysql
# 5.配置环境变量 设置mysqlroot帐号密码的环境变量
environment:
  - MYSQL_ROOT_PASSWORD=root
# 6.连接其他容器的服务(SERVICE:ALIAS) 可以以database为域名访问服务名称为db的容器
links:
  - db:database

Docker Compose常用命令

# 1.构建、创建、启动相关(镜像)容器 -d表示在后台运行
docker-compose up -d
# 2.指定使用的Compose模板文件,默认为docker-compose.yml,可以多次指定
docker-compose -f docker-compose.yml up -d
# 3.列出所有的容器
docker-compose ps
# 4.停止所有的容器
docker-compose stop
# 5.启动所有的容器
docker-compose start
# 6.重启项目中的容器
docker-compose restart
# 7.删除容器(停止中的)
docker-compose rm
# 8.停用移除所有容器以及网络相关
docker-compose down

使用Docker Compose 部署应用

version: "2" #Docker Composer版本
services: 
  #默认的容器名称(有重复的会自动加后缀)
  gateway-docker:
    #镜像名称
    image: gateway:1.0-SNAPSHOT
    #映射端口
    ports: 
      - "8890:8890"
    #容器的名称(不加的话使用默认的容器名称)
    container_name: "gateway-docker-two"
  api-docker:
    #镜像名称
    image: api:1.0-SNAPSHOT
    #映射端口
    ports: 
      - "8889:8889"

启动所有镜像

#docker-compose.yml 文件下执行
docker-compose up -d

举报

相关推荐

0 条评论