测试服务器:银河麒麟V10 x86_64
注意:推荐使用国内的镜像站下载,因为官网不挂梯子无法访问,我用的是清华大学开源软件镜像站
一、下载离线包:
官网下载docker离线包
下载地址:https://download.docker.com/linux/static/stable/
清华大学docker安装包
下载地址:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable
根据自己的操作系统选择合适的镜像,如下图所示:
我本地的虚拟机是x86_64位的,所以选择x86_64目录找到对应的版本下载
下载完成后,可以放到服务器上,进行安装操作。
二、执行安装操作
使用 tar -zxvf docker-20.10.10.tgz 命令进行解压操作,解压后会在当前目录下生成docker文件
执行如下命令把docker相关文件拷贝到/usr/bin目录
sudo cp -p docker/* /usr/bin
创建docker.service文件,实现开机自启动
touch docker.service
然后把如下内容,贴到docker.service文件中
#######################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
the default is not to use systemd for cgroups because the delegate issues still
exists and systemd currently does not support the cgroup feature set required
for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Having non-zero Limit*s causes performance problems due to accounting overhead
in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Uncomment TasksMax if your systemd version supports it.
Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
kill only the docker process, not all processes in the cgroup
KillMode=process
restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
########################docker.service#################################
把docker.service 拷贝到 /etc/systemd/system/ 目录。命令如下:
sudo cp docker.service /etc/systemd/system/
对docker.service设置权限,命令如下:
sudo chmod +x /etc/systemd/system/docker.service
重新加载某个服务的配置文件,命令如下:
sudo systemctl daemon-reload
启动docker,命令如下:
sudo systemctl start docker
查看是否安装成功
sudo docker --version