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-*

 

posted @ 2021-12-28 12:25  linuxTang  阅读(114)  评论(0编辑  收藏  举报