阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Docker实战中从Ubuntu系列换到CentOS7.X系列应该避免的地方

242次阅读
没有评论

共计 1369 个字符,预计需要花费 4 分钟才能阅读完成。

一、背景

在生产环境中部署、使用 Docker 已经有很长一段时间了。学习的时候大部分环境、资料都是在 Ubuntu14.04、16.04 及 18.04 中实现的。由于某些原因,需要在生产环境中的 CentOS7.2 和 7.4 中部署使用 Docker。在这个过程中踩了不少坑,花了很多时间,走了很多弯路。

二、一些常见的坑及解决方案

2.1 SELinux

在 Ubuntu 系列系统中默认是没有 SELinux 的。因此也无需配置,如果安装了 SELinux 的话,禁用或者进行相关配置那是必须的。在 CentOS7.2 和 7.4 中,SELinux 默认是启用的,如果不进行相关配置,那么在 Docker 卷挂载时是无法正常使用的。查看 SELinux 状态及关闭 SELinux 可以使用以下命令:

[root@linuxidc ~]# getenforce
Enforcing
[root@linuxidc ~]# sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
[root@linuxidc ~]# reboot
[root@linuxidc ~]# getenforce
Disabled

操作过程中,重启是必须的。不禁用也是可以的,permissive 也可以。

2.2 防火墙

CentOS7.2 及 7.4 默认情况下使用的 firewalld 动态防火墙,并且 CentOS7.4 防火墙默认开机启动。Ubuntu 系列使用 iptables 多一些。如果不用的话建议关闭,一般大型系统都有硬件防火墙,建议关闭。如果个人小规模使用就按照最小化原则进行配置。关闭及禁用开机启动命令可以参考如下:

[root@linuxidc ~]# systemctl stop firewalld
[root@linuxidc ~]# systemctl disable firewalld

2.3 IP 转发

默认情况下,CentOS7.4 的 ip 转发是关闭的,需要格外注意,这是造成很多故障的原因之一。这个情况在 Ubuntu14.04 及以上版本是不存在的,Ubuntu 默认开启了的。查看 ip 转发是否开启可以使用以下命令:

[root@linuxidc ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

如果返回值是 0, 说明 ip 转发是关闭了的,需要开启。开启命令可以参考以下内容:

[root@linuxidc ~]# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

命令执行后立即生效,重启之后需要再次操作。如果需要永久生效,那么使用以下命令:

[root@linuxidc ~]# echo “net.ipv4.ip_forward = 1”>>/etc/sysctl.conf
[root@linuxidc ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@linuxidc ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

三、总结

3.1 Linux 的各大发行版在细节方面差异较大,需要格外注意,不能按部就班的随便套用。

3.2 在使用的过程中需要发挥自己的思维变通能力,尽量做到触类旁通。

3.3 目前就发现这些问题了,其他问题希望诸位多多分享,交流。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1369字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中