Skip to main content

安装

centos docker docker-compose

Docker主要分为企业版和社区版,社区版本由社区维护,免收费,对于个人或者小团队来说足够使用。官网给出的安装方式包含多种途径,这里主要选择YUM仓库的方式进行安装,其他的安装方式可参考官方文档

Docker安装准备工作

首先需要卸载已经安装了的docker或者docker-engine,如果没有安装,则跳过这个步骤,卸载的命令如下:

$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

卸载命令中使用了sudo,CentOS中的普通用户默认是没有开启sudo权限,可直接通过su - root切换至root用户,然后直接执行yum ...命令。

卸载完成后,安装必须的依赖软件yum-utilsdevice-mapper-persistent-datalvm2:

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

由于YUM仓库本身不包含Docker软件,所以需要添加docker-ce源。

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

如果速度慢可以使用阿里源

$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

添加完成后,可检查/etc/yum.repos.d目录下是否包含docker-ce.repo文件,如存在,则说明源设置成功。

[yum.repos.d]$ ls -l | grep docker
-rw-r--r--. 1 root root 2424 1019 05:57 docker-ce.repo

Docker安装

完成准备工作后,即可开始安装操作,安装的文件包括docker-cedocker-ce-clicontainerd.io

$ sudo yum install docker-ce docker-ce-cli containerd.io

Docker安装完成后自动创建docker用户组,但并没有添加任何用户,这个在后面我们会自己添加设置,现在需要启动服务。

$ sudo systemctl start docker

验证docker是否安装成功有多种方式,可查看docker版本:

$ docker -v
Docker version 19.03.5, build 633a0ea

也可直接运行hello-world测试:

$ sudo docker run hello-world

第一次运行,本地并没有镜像,所以会从服务器拉取,运行成功后会显示如下信息:

...
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

确认安装成功后,设置docker服务开机自启动。

$ sudo systemctl enable docker

查看docker服务是否开机启动:

$ sudo systemctl is-enabled docker
enabled

查看已启动的服务列表:

$ sudo systemctl list-unit-files | grep enabled
...
autovt@.service enabled
chronyd.service enabled
crond.service enabled
dbus-org.fedoraproject.FirewallD1.service enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
docker.service enabled
...

Docker用户配置

在安装docker的时候我们使用的是root权限,在实际使用中常常需要普通用户操作docker,每次都切换root或者使用sudo既不方便也不安全,因此需要给普通用户赋予docker权限。

首先在系统中查找docker用户组,确认其是否存在:

$ cat /etc/group | grep docker
docker:x:994:user

如果不存在,则添加之:

$ sudo groupadd docker

然后列出自己所在用户组,确认自己在不在 docker 组中:

$ groups

如果不存在,则将当前用户添加至docker用户组:

$ sudo gpasswd -a ${USER} docker

重启docker服务:

$ sudo service docker restart

切换一下用户组(刷新缓存)

$ newgrp - docker
$ newgrp - `groups ${USER} | cut -d' ' -f1`

或者注销并重新登录,然后直接使用docker -v命令查看版本,确认是否已拥有docker权限。

Docker设置国内镜像源

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式:

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

重启docker服务:

$ sudo service docker restart

国内镜像主要包含以下:

安装Docker-compose

Docker-compose用于同时编排管理多个容器,例如Springboot + mysql + nginx,可使用一个YAML文件进行配置,然后通过一条命令即可启动所有的服务。

二进制文件安装

官网推荐使用curl命令安装:

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

下载完毕后添加可执行权限:

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

通过查看版本来确认是否安装成功:

$ docker-compose --version
docker-compose version 1.25.0, build 1110ad01

pip安装

由于网络的原因,二进制安装很难成功,因此还可以采用pythonpip方式进行安装。

首先安装python-pip

$ sudo yum -y install epel-release
$ sudo yum -y install python-pip

查看版本:

$ pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

使用pip安装docker-compose:

$ sudo pip install docker-compose

如果pip安装时很慢的话,可临时指定国内镜像源安装:

$ sudo pip install -i http://pypi.douban.com/simple docker-compose

结语

本文主要介绍了在CentOS系统上安装dockerdocker-compose的方法,其他主要Linux发行版如Ubuntu由于包管理器会略有不同,详情可参考Get Docker Engine - Community for Ubuntu

另外在WindowsMac平台上安装的是桌面版本,具体的安装步骤请分别参考Install Docker Desktop on WindowsInstall Docker Desktop on Mac。 Docker主要分为企业版和社区版,社区版本由社区维护,免收费,对于个人或者小团队来说足够使用。官网给出的安装方式包含多种途径,这里主要选择YUM仓库的方式进行安装,其他的安装方式可参考官方文档