yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io -y
docker-ce-cli 的作用是Docker命令行工具。containerd.io 是容器接口相关包。
systemctl start docker && systemctl enable docker
首先,你可以先使用**docker search imageName
命令查找到需要的镜像。然后使用docker pull imageName
**拉取镜像,若不加版本号则拉取latest。
但该方法拉取镜像速度较慢,下面推荐几种方法拉取镜像。
这里推荐使用阿里云Docker镜像加速器,提高pull速度,也可以选择其他加速器,比如网易,原理相同。
这里也提供下网易镜像地址: https://c.163.com/hub#/m/home/
登录阿里云镜像加速器控制台,https://cr.console.aliyun.com。控制台页面左侧菜单栏的镜像工具-镜像加速器会显示分配的加速地址,格式大概为https://xxxxxxxx.mirror.aliyuncs.com
。
使用vim编辑daemon.json文件(默认不存在该文件,vim会自动创建)。
vim /etc/docker/daemon.json
daemon.json文件内容添加如下,可以配置多个镜像加速地址["地址1", "地址2" , "地址3"]
:
{
"registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"]
}
然后依次执行下面两个命令:
systemctl daemon-reload
systemctl restart docker
最后使用docker info
命令查看Registry Mirrors的地址是否为加速地址。然后再进行拉取镜像操作,就会非常快速了。
该方式使用到了Docker镜像导入导出相关操作。
首先,你需要提前通过其他渠道下载好image镜像文件(后缀名为.tar
),通过ftp等方式将上传至Linux服务器,然后使用下面命令导入镜像即可。
docker load -i xxx.tar
同样的,你也可以使用下面命令导出images仓库中的某个镜像。其中,xxx.tar
是导出tar文件名,imageName:latest
选择指定TAG的镜像.
docker load -o xxx.tar imageName:latest
默认是开启,不需要进行此配置。
但如果你在启动Docker实例时,控制台报下面错误的话,就需要进行该配置。
WARNING: IPv4 forwarding is disabled. Networking will not work.
先使用vim /etc/sysctl.conf
命令,添加内容net.ipv4.ip_forward = 1
。
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward = 1
再使用sysctl -p
使配置生效,也可以使用cat /proc/sys/net/ipv4/ip_forward
查看是否开启路由转发功能,下面是控制台历史记录。
[root@atlantis ~]# vim /etc/sysctl.conf
[root@atlantis ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@atlantis ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@atlantis ~]#
然后关闭防火墙,再重新启动Docker服务,然后使用iptables -L -n
会发现多了很多Docker相关的防火墙规则。
[root@atlantis ~]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@atlantis ~]# systemctl restart docker
[root@atlantis ~]# iptables -L -n
······
命令太多,具体使用方法请自行百度。
若Docker部分命令使用tab无法自动补全,依次执行下面3个命令即可解决。
yum install -y bash-completion
source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion