摘要
本文内容转自网络,个人学习记录使用,请勿传播
docker部署
https://www.cnblogs.com/sparkdev/p/9129334.html
关闭防火墙和selinux
1 | systemctl disable --now firewalld NetworkManager |
关闭dnsmasq
linux 系统开启了 dnsmasq 后(如 GUI 环境),将系统 DNS Server 设置为 127.0.0.1,这会导致 docker 容器无法解析域名,需要关闭它
1 | systemctl disable --now dnsmasq |
关闭swap
1 | swapoff -a && sysctl -w vm.swappiness=0 |
升级系统软件包
1 | yum install epel-release -y |
开启ipvs以及overlay等
1 | lsmod | grep over |
升级内核
docker在低版本内核下(包括4.15内核),会存在以下bug
1 | kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1 |
所以为了安全起见,需要升级内核
1 | # 内核依赖perl |
创建docker用户
1 | groupadd -g 1001 docker |
内核参数优化
1 | cat <<EOF > /etc/sysctl.d/docker.conf |
参数备用
1 | net.ipv4.ip_forward = 1 |
环境检查
1 | curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh |
版本
1 | export VERSION="18.06.3-ce" |
升级runc
由于runc近期爆发严重漏洞,需要进行升级,建议下载docker18.09以上升级包,替换当前版本的runc即可。
二进制启动文件
1 |
|
配置文件
1 | cat daemon.json |
systemd启动文件
1 | cat > /usr/lib/systemd/system/docker.service <<"EOF" |
1 | nohup dockerd --config-file conf/daemon.json &> logs/dockerd.log & |
开启docker命令补全
1 | # yum安装,二进制安装的命令补全待有空补充 |