CentOS 7安装Docker Compose以及安装的问题解决

471 阅读1分钟

 Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。

一、centos7 安装最新版的docker

  1. 查看系统要求

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看CentOS的内核版本。

$  uname -a 或者 uname -r

2. 使用该命令 rpm -qa|grep docker //查看已经安装的docker安装包,列出入校内容

$ rpm -qa|grep docker
docker.x86_64 2:1.12.6-16.el7.centos @extras 
docker-client.x86_64 2:1.12.6-16.el7.centos @extras 
docker-common.x86_64 2:1.12.6-16.el7.centos @extra

2.1分别删除

$ yum -y remove docker.x86_64
$ yum -y remove docker-client.x86_64
$ yum -y remove docker-common.x86_64

2.2删除原始docker镜像

$ rm -rf /var/lib/docker 

3.安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 

$ yum install -y yum-utils device-mapper-persistent-data lvm2

4.设置Docker yum源 

$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5.查看所有仓库中所有docker版本

可以查看所有仓库中所有docker版本,并选择特定的版本安装。

$ yum list docker-ce --showduplicates | sort -r

​编辑

6.安装docker

$ yum install docker-ce

 ​编辑

由于repo中默认只开启stable仓库,故这里安装的是最新稳19.03.5-3.el7。 如果要安装特定版本:

$ yum install docker18.03.1.ce-1.el7.centos 

7.启动

设置为开机启动
systemctl enable docker
启动
systemctl start docker
查看启动状态
systemctl status docker
查看版本
docker version

 ​编辑

 二、安装docker-compose

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

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

docker-compose --version

 安装完成后发现如下问题:

​编辑

原因:

使用官方文档中所描述的方法:

curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

安装时,curl下载下来的文件是不完整的,而且没有给出任何错误信息。

可以看到通过curl下载的文件比使用浏览器下载后又上传到服务器上的文件大小小, 所以重新下载文件即可。

解决办法:

进入下面的网址下载目前的最新版:

Release 1.14.0-rc2 · docker/compose · GitHub

网页拉到最下面,下载:

docker-compose-Linux-x86_64

然后将文件上传到 /usr/local/bin/ 文件夹下,然后将其重命名为docker-compose,修改此文件的权限,

增加可执行:

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

然后再运行:

docker-compose version

如下: