Docker Compose教程(定义安装及使用实例)

Docker Compose教程(定义安装及使用实例)-mikechen

Docker Compose定义

Docker Compose是Docker官方提供的用于定义和管理运行多个Docker容器的开源容器编排工具。

 

Docker Compose作用

Docker  Compose 通过一个配置文件来管理多个Docker容器,然后使用docker-compose脚本来启动 停止和重启应用,非常适合组合使用多个容器进行开发的场景。

有了 Docker Compose 你可以把所有繁复的 Docker 操作全都一条命令,自动化的完成。

 

为什么需要Docker Compose?

Docker帮助我们解决服务的打包安装的问题,随着而来的问题就是服务过多的带来如下问题:

  1. 多次使用DockerHub拉取Docker镜像;
  2. 需要创建多个容器多次编写启动命令;
  3. 容器互相依赖的,如何进行管理和编排;

当我们服务数量增多的时候,上面三个问题就会更加的被放大,Docker有没有什么好的方法,可以让我们通过一个配置就搞定容器编排和运行呢?这个时候Docker Compose就站出来了。

 

Docker Compose安装

对于Windows安装Docker以后,就已经安装好Docker Compose,不需要手动安装,这里的安装方式是基于Linux的Cnetos的。

主要分为3个步骤:

1.下载 Docker Compose 稳定版本

sudo curl -L "<https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

2.对二进制文件应用可执行权限

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

 

3.检查是否安装成功

docker-compose --version

 

Docker Compose命令

1.查看帮助

docker-compose -h

2.创建并运行所有容器

docker-compose up

3.查看容器输出日志

docker-compose logs

4.只构建不运行

docker-compose build

5.列出项目中目前所有容器

docker-compose ps -f docker

6.停止compose服务

docker-compose stop

7.重启compose服务

docker-compose restart

8.检查配置

dokcer-compose config

9.拉取依赖镜像

docker-compose pull

10.删除compose服务

docker-compose rm

11.启动容器

docker-compose start 容器名字

比如,启动Nginx容器:

docker-compose start nginx

 

Docker Compose示例

1.新建docker-compose.yml文件

version: '1'
services:
  web1:
    image: nginx
    ports: 
      - "8081:80"
    container_name: "test1"
    networks:
      - dev
  web2:
    image: nginx
    ports: 
      - "8082:80"
    container_name: "test2"
    networks:
      - dev
      - pro
  networks:
  dev:
    driver: bridge
  pro:
    driver: bridge

 

2.创建webapp目录

将docker-compose.yaml文件拷贝到webapp目录下。

 

3.启动应用

使用docker-compose启动应用:

docker-compose up -d

访问测试:

http://127.0.0.1:8081http://127.0.0.1:8082

 

Docker Compose原理

Docker Compose教程(定义安装及使用实例)-mikechen

Docker  Compose主要调用了Docker服务提供的API来对容器进行管理。

因此,只要所在的操作系统的平台支持Docker API,就可以在其上利用Compose来进行编排管理。

Docker  Compose工作流程:

第一步:利用Dockerfile定义运行环境;

第二步:使用docker-compose.yml定义组成应用的各服务;

第三步:运行docker-compose up启动应用。

 

mikechen睿哥

mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法