在一些情况下无法使用yum安装docker下面写了一个使用二进制安装docker的文档
官网下载地址https://download.docker.com/linux/static/stable/x86_64/ 可以按需求下载
wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.10.tgz 下载包
tar xf dcker-20.10.10.tgz -C /data
ls 看下安装目录下的文件
这些二进制文件都是与 Docker 相关的组件或工具。以下是它们的简要说明:
containerd 是一个核心组件,是 Docker 的运行时管理器。它负责管理容器的生命周期,包括创建、运行、暂停、删除等操作。
containerd-shim 是一个轻量级进程,用于在容器与 `containerd` 之间进行通信和协调。它帮助 `containerd` 启动和管理容器进程。
containerd-shim-runc-v2 是使用 runc 运行时的 `containerd-shim` 的版本。runc 是一个符合 OCI(Open Container Initiative)规范的轻量级容器运行时。
ctr 是一个命令行工具,用于与 `containerd` 通信和管理容器、镜像等资源。它提供了一个简单的方式来执行 `containerd` API 操作。
docker 是 Docker 的客户端命令行工具,用于与 Docker 守护进程(`dockerd`)通信,管理 Docker 容器、镜像、网络等资源。
dockerd 是 Docker 的守护进程,负责管理 Docker 的核心功能,包括监听 Docker API 请求、创建和管理容器、存储卷、网络等。
docker-init 是一个初始化进程,用于在启动容器时设置容器环境并执行预定义的初始化任务。
docker-proxy 是一个用于代理 Docker 容器网络流量的工具,帮助容器与外部网络进行通信。
runc 是一个符合 OCI 规范的轻量级容器运行时,用于启动和运行容器进程,是 `containerd-shim` 使用的容器运行时之一。
这些组件共同作用,构成了 Docker 容器平台的核心功能和管理工具链。通过它们,用户可以创建、运行、管理和互联容器,构建和部署现代应用程序。
scp /data/docker/* /usr/bin/ 把这些可执行文件复制到/usr/bin目录
vim /etc/systemd/system/docker.service 编辑systemctl管理文件
[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 --data-root="/data/docker"
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
systemctl daemon-reload 刷新配置
systemctl status docker 第一次启动不知道为什么有问题 一直在启动中,手动ctrl c 掉停止
ps -ef |grep docker 然后过滤发现有一个docker的进程在运行中
kill -9 7995 8003 手动kill 掉
systemctl status docker 然后在查看运行状态docker就正常了。
到这里二进制安装docker就部署好了。