Docker实践(4)Docker Compose

发布 : 2018-06-21 分类 : Notes 浏览 :

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。

如果是 Mac 系统或者 Windows 系统下安装的 Docker,就已经自带了 docker-compose 程序,可直接使用。

这里的环境是 Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-87-generic x86_64)

安装

Compose 可以通过三种方式进行安装:

  • PIP 安装 计算机的架构是 ARM (例如,树莓派),使用 pip 安装。
  • 二进制包 Linux x86_64 架构的系统可以使用这种方式安装。
  • 容器中执行 在 Docker 容器中运行,不会破坏系统环境,更适合云计算场景。

常见问题

Permission denied 错误

问题描述:

1
-bash: /usr/local/bin/docker-compose: Permission denied

可能是你不具有/user/local/bin目录的写权限,你可能需要使用超级用户去安装Compose。

解决方案:

运行命令,切换到 root 用户

1
sudo -i

然后执行下载安装命令,最后通过 exit 命令退出超级用户。

二进制包安装

打开 github.com/docker/compose 查看最新的版本,这里最新版本为 1.21.2

下载对应的二进制安装包

1
$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

申请可执行权限为docker-compose这个二进制文件

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

如果需要卸载,直接执行下面的命令:

1
$ sudo rm /usr/local/bin/docker-compose

容器执行安装

实际上这种方式是下载 docker/compose 镜像并运行容器,结束后删除容器。

打开 github.com/docker/compose 查看最新的版本,这里最新版本为 1.21.2

1
2
3
$ curl -L https://github.com/docker/compose/releases/download/1.21.2/run.sh > /usr/local/bin/docker-compose

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

查看是否安装成功

1
$ docker-compose -v

首次执行的时候会去下载 ‘docker/compose:1.21.2’ 镜像,然后输出版本号信息:

1
2
3
4
5
6
7
8
Unable to find image 'docker/compose:1.21.2' locally
1.21.2: Pulling from docker/compose
605ce1bd3f31: Pull complete
c57f5dd9da06: Pull complete
4869756a2c04: Pull complete
Digest: sha256:6fb081a4ff825a3b9311aa532589bf98b3e9d3331e4f9de69fac31770c8cb108
Status: Downloaded newer image for docker/compose:1.21.2
docker-compose version 1.21.2, build a133471

本文作者 : 王海
原文链接 : https://blog.whai.me/2018/06/21/docker-4-dockercompose/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹