前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker-compose

Docker-compose

原创
作者头像
小马哥学JAVA
发布2022-11-17 11:35:55
1.6K0
发布2022-11-17 11:35:55
举报
文章被收录于专栏:JAVA开发专栏

目录

简介:

官方介绍

批量容器编排

Docker-Compose up 1000个服务,也可以一键启动

Compose重要概念

安装Docker Compose

升级Docker Compose

重启的执行命令

​编辑

简介:

我们之前操作Docker的过程是:DockerFile build run进行手动操作,单个容器,如果假设我们1000个微服务,并行微服务之间还存在依赖关系,这个时候,我们就可以使用Docker Compose来轻易高效的管理容器,定义运行多个容器

官方介绍

定义、运行多个容器

Yamlfile 配置环境

Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用Yaml文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。要了解有关Compose的所有特性的更多消息,请参阅特性列表

Compose可以在所有环境中工作生产、阶段、开发、测试,以及CI工作流。使用Compose基本有三个步骤

  1. 使用Dockerfile定义你的应用程序的环境,这样就可以在任何地方复制
  2. 在Docker-compose中定义组成应用程序的服务。这样他们就可以在一个独立的环境中一起运行
  3. 运行Docker-compose up和Compose启动运行整个应用程序

批量容器编排

Compose是Docker官方开源项目,需要安装

Dockerfile让程序在任何地方运行,Web程序。Redis、MySql、Nginx 多个容器

Compose的Yaml文件如下

version: '2.0' services: web: build: . ports: - "5000:5000" volumes: - .:/code - logvolume01:/var/log links: - redis redis: image: redis volumes: logvolume01: {}

Docker-Compose up 1000个服务,也可以一键启动

Compose重要概念

  1. 服务Service 容器,应用(Web,Redis,Mysql)
  2. 项目Project,就是一组关联的容器

常见的Docker Compose脚本

安装git命令: yum install -y git

git clone docker-compose: docker-compose集成环境系列 cd docker-compose/Linux

举例:

version: '3'

services:

mysql:

image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7 # 原镜像`mysql:5.7`

container_name: mysql_3306 # 容器名为'mysql_3306'

restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器

volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录

- "./mysql5.7/my.cnf:/etc/mysql/my.cnf"

- "./mysql5.7/data:/var/lib/mysql"

# - "./mysql5.7/conf.d:/etc/mysql/conf.d"

- "./mysql5.7/log/mysql/error.log:/var/log/mysql/error.log"

- "./mysql5.7/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d" # 可执行初始化sql脚本的目录 -- tips:`/var/lib/mysql`目录下无数据的时候才会执行(即第一次启动的时候才会执行)

environment: # 设置环境变量,相当于docker run命令中的-e

TZ: Asia/Shanghai

LANG: en_US.UTF-8

MYSQL_ROOT_PASSWORD: root # 设置root用户密码

MYSQL_DATABASE: demo # 初始化的数据库名称

ports: # 映射端口

- "3306:3306"

安装Docker Compose

官方文档:Overview | Docker Documentation

下载

  1. 首先需要先安装一下Docker
  2. 运行此命令下载Docker Compose的当前稳定版本$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. 二进制文件添加可执行权限:sudo chmod +x /usr/local/bin/docker-compose

如果安装失败的话,可以检查一下安装路径是否正确。 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  1. 测试安装 docker-compose --version

升级Docker Compose

如果从Compose1.2或更早版本升级,请在升级Compose后移除现有容器。这是因为从1.3版本之后,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。

如果Compose检查到创建时没有标签的容器,它会拒绝运行,这样您就不会得到两组。如果想继续使用现有容器,可以在使用Compose1.5使用以下命令迁移

docker-compose migrate-to-labels

或者,如果不担心保留,可以删除,compose知识创建新的

docker container rm -f -v myapp_web_l myapp_....

重启的执行命令

sudo /usr/local/bin/docker-compose down

sudo /usr/local/bin/docker-compose up -d

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介:
  • 官方介绍
  • 批量容器编排
  • Docker-Compose up 1000个服务,也可以一键启动
  • Compose重要概念
  • 安装Docker Compose
  • 升级Docker Compose
  • 重启的执行命令
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档