安装
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-utils
、device-mapper-persistent-data
和lvm2
:
$ 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 10月 19 05:57 docker-ce.repo
Docker安装
完成准备工作后,即可开始安装操作,安装的文件包括docker-ce
、docker-ce-cli
和containerd.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
国内镜像主要包含以下:
- https://registry.docker-cn.com Docker中国区官方镜像
- https://docker.mirrors.ustc.edu.cn 中科大
- http://hub-mirror.c.163.com 网易
安装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
安装
由于网络的原因,二进制安装很难成功,因此还可以采用python
的pip
方式进行安装。
首先安装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
系统上安装docker
和docker-compose
的方法,其他主要Linux
发行版如Ubuntu
由于包管理器会略有不同,详情可参考Get Docker Engine - Community for Ubuntu。
另外在Windows
和Mac
平台上安装的是桌面版本,具体的安装步骤请分别参考Install Docker Desktop on Windows 和 Install Docker Desktop on Mac。
Docker主要分为企业版和社区版,社区版本由社区维护,免收费,对于个人或者小团队来说足够使用。官网给出的安装方式包含多种途径,这里主要选择YUM
仓库的方式进行安装,其他的安装方式可参考官方文档。