本文使用vm虚拟机(硬件配置:三台2核2G20G虚拟机)离线环境搭建Docker。
IP | 机器名 |
192.168.189.130 | hadoop01 |
192.168.189.131 | hadoop02 |
192.168.189.132 | hadoop03 |
一、基础配置
1、关闭防火墙
# 将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动
systemctl disable firewalld
2、添加hosts
每台机器添加hosts
vi /etc/host
添加
192.168.189.130 hadoop01
192.168.189.131 hadoop02
192.168.189.132 hadoop03
3、设置免密登录
ssh-keygen -t rsa
# 一直回车
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
4、开启bridge-nf-call-iptables
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables=1" >> /etc/sysctl.conf
# 刷新
sysctl -p /etc/sysctl.conf
如果不开启bridge-nf-call-iptables,在安装k8s时可能会报以下错误。
二、Docker离线安装
方式一
无需自己手动配置docker.service文件
https://blog.csdn.net/qq_44858888/article/details/124084408
方式二
1、下载docker离线安装包
https://download.docker.com/linux/static/stable/x86_64/
2、通过xshell工具将安装包,上传至服务器
rz -y
3、创建docker.service文件,放在docker安装包同级目录(亲测,复制不行,建议手敲)
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
4、编写脚本install.sh
# '解压tar包...'
tar -xvf docker*.tgz
# '将docker目录移到/usr/bin目录下...'
cp docker/* /usr/bin/
# '将docker.service 移到/etc/systemd/system/ 目录...'
cp docker.service /etc/systemd/system/
# '添加文件权限...'
chmod +x /etc/systemd/system/docker.service
# '重新加载配置文件...'
systemctl daemon-reload
# '启动docker...'
systemctl start docker
# '设置开机自启...'
systemctl enable docker
5、查看docker状态
systemctl status docker
以下显示 active(running),表示安装成功
6、卸载脚本uninstall.sh
# '删除docker.service...'
rm -f /etc/systemd/system/docker.service
# '删除docker文件...'
rm -rf /usr/bin/docker*
# '重新加载配置文件'
systemctl daemon-reload
# '卸载成功...'