2022-09-18 Docker离线安装

Docker离线安装

  • docker 离线安装
    • 安装docker
    • 设置docker镜像加速器(无外网时跳过)
  • 其它操作
    • 关闭防火墙
    • 关闭swap分区
    • 关闭selinux
    • 优化内核参数

docker 离线安装

安装docker

这里也是网上最多一种,以便以后快速找到。

  1. 下载离线安装包:下载链接(这里以docker-19.03.6.tgz为例)
  2. 解压文件:
tar -xvf docker-19.03.6.tgz
  1. 移动到全局目录下
mv doker/* /usr/bin/
  1. 配置unit服务
vim /etc/systemd/system/docker.service

# 复制下面内容
[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

再执行如下命令:

# 更新服务
systemctl daemon-reload
# 设置开机自启
systemctl enable docker.service
# 启动服务
systemctl start docker.service
# 查看状态
systemctl status docker.service

或:

systemctl daemon-reload && systemctl enable docker.service && systemctl start docker.service && systemctl status docker.service

至此docker就离线安装完成了

# 查看安装版本
docker -v

设置docker镜像加速器(无外网时跳过)

这里使用aliyun镜像加速器,可以根据自己需求选择

# 1: 创建文件夹(其实这个文件夹是有的) 可以不创建
	mkdir -p /etc/docker
	
# 2: 编辑内容 
	cat > /etc/docker/daemon.json <<\EOF
	{
  		"registry-mirrors": ["https://xes4q5zj.mirror.aliyuncs.com"],
		"insecure-registries": ["192.168.1.81:9999"],
		"data-root": "/opt/docker/data",
		"max-concurrent-downloads": 10,
		"max-concurrent-uploads": 5,
		"log-driver": "json-file",
		"log-opts": {"max-size":"300m", "max-file":"2"}
	}
    EOF	
    
# 3: 重启服务
	systemctl restart docker
	
# 4: 查看是否成功
	docker info 

其它操作

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

关闭swap分区

swapoff -a 
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 

关闭selinux

setenforce 0 
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

优化内核参数

k8s的配置,截取docker需要的进行设置

modprobe ip_conntrack

cat > kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
net.ipv4.neigh.default.gc_thresh1=1024
net.ipv4.neigh.default.gc_thresh2=2048
net.ipv4.neigh.default.gc_thresh3=4096
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
cp kubernetes.conf  /etc/sysctl.d/kubernetes.conf 
sysctl -p /etc/sysctl.d/kubernetes.conf 

你可能感兴趣的:(#,doker,docker,linux,容器)