2021Docker容器技术全解-安装Docker(1)
docker共享宿主机操作系统,安装docker时建议关闭防火墙方式服务冲突,有些生产环境会直接把防火墙给卸掉。
1安装docker:
#安装依赖: yum install -y yum-utils device-mapper-persistent-data lvm2 #添加yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #安装docker yum install docker-ce docker-ce-cli containerd.io --allowerasing #启动并设置开机启动 systemctl start docker systemctl enable docker #验证安装是否成功 docker version
2开启路由转发(目的是让docker和其它的容器可以互相通信)
#开启路由转发 [root@web01 ~]#vim /etc/sysctl.conf [root@web01 ~]#tail -1 /etc/sysctl.conf net.ipv4.ip_forward=1 #让命令生效: [root@web01 ~]#sysctl -p net.ipv4.ip_forward = 1 #重启docker
3修改docker启动文件,将通讯规则设置成允许
docker版本大于1.12时会设置FORWARD的默认规则为DROP,这个bug会造成容器间的通讯障碍,解决的办法就是直接在启动文件的[Service]标签里添加一句话:
ExecStartPost=/sbin/iptables -P FORWARD ACCEPT
[root@web01 ~]#vim /usr/lib/systemd/system/docker.service [Service] .... ExecStartPost=/sbin/iptables -P FORWARD ACCEPT ExecReload=/bin/kill -s HUP $MAINPID
4重新加载docker配置文件:
[root@web01 ~]#systemctl daemon-reload [root@web01 ~]#systemctl restart docker
5验证:
[root@web01 /lib/systemd/system]#ifconfig docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:01:91:8c:f0 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
6卸载防火墙:
[root@web01 /lib/systemd/system]#yum remove firewalld-*