Linux 中离线安装 Docker 23.0.3 容器详细步骤

以下是对安装 Docker 容器每个步骤的详细说明:

  1. 有网环境下使用该指令拉取:wget https://download.docker.com/linux/static/stable/x86_64/docker-23.0.3.tgz

    • 作用:从指定的 URL 下载 Docker 的安装包。这个安装包适用于 Linux 系统的 x86_64 架构,版本为 23.0.3。通过网络下载确保能够获取到最新版本的 Docker 安装文件。
  2. 使用tar -zxvf docker-23.0.3.tgz命令解压安装包。(注:红色字体为安装包名称)。

    • 作用:将下载的安装包进行解压,以便后续能够访问其中的文件。tar命令是 Linux 系统中常用的归档和压缩工具,-zxvf参数分别表示使用 gzip 格式解压、显示解压过程、从归档文件中提取文件。
  3. 使用cp docker/* /usr/bin/命令将解压出的 docker 文件所有内容移动到 bin 目录下。

    • 作用:将解压后的 Docker 相关文件复制到/usr/bin/目录。/usr/bin/是系统的可执行文件目录,这样做可以使 Docker 的命令在系统的任何位置都可以被执行。
  4. 使用vim /etc/systemd/system/docker.service命令将 docker 注册为 service,按 i 进入书写模式,填入以下文字:

  5. `[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`

以下对配置文件解析:

[Unit]部分:
- Description=Docker Application Container Engine:为这个服务提供一个描述,说明这是 Docker 应用容器引擎服务。
- Documentation=https://docs.docker.com:指定了关于 Docker 的文档链接。
- After=network-online.target firewalld.service:表示这个服务应该在网络连接建立并且防火墙服务启动之后启动。
- Wants=network-online.target:表示这个服务希望网络连接可用。

  • [Service]部分:

    • Type=notify:指定服务的类型为 notify,表示服务在启动和停止时会发送通知。
    • ExecStart=/usr/bin/dockerd:指定了 Docker 守护进程的启动命令。
    • ExecReload=/bin/kill -s HUP $MAINPID:定义了如何重新加载服务,这里是通过向主进程发送 HUP 信号来实现。
    • LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity:设置了进程的文件描述符数量、进程数量和核心文件大小的限制为无限。
    • TimeoutStartSec=0:启动服务的超时时间为 0,表示不限制启动时间。
    • Delegate=yes:允许 systemd 将一些任务委托给 Docker,避免 systemd 对 Docker 容器的 cgroups 进行不必要的管理。
    • KillMode=process:指定在停止服务时只杀死 Docker 进程,而不是容器中的所有进程。
    • Restart=on-failure:如果服务意外退出,自动重新启动。
    • StartLimitBurst=3StartLimitInterval=60s:限制服务在一段时间内的启动次数,防止无限次的快速重启。
  • [Install]部分:

    • WantedBy=multi-user.target:表示这个服务在多用户系统启动时被需要。
  • 填写进入后先按 Esc 键,后按冒号输入 wq,点击回车。(注:可以右键粘贴;w 为保存,q 为退出):这是在 vim 编辑器中的操作,保存并退出编辑。

  1. 使用chmod +x /etc/systemd/system/docker.service命令添加文件权限。

    • 作用:为刚刚创建的 Docker 服务文件添加可执行权限,以便 systemd 能够正确地读取和执行这个文件。
  2. 使用systemctl daemon-reload命令重载 unit 配置文件。

    • 作用:当对 systemd 的服务配置文件进行了修改后,需要使用这个命令让 systemd 重新加载配置文件,以便系统能够识别新的服务或修改后的服务配置。
  3. 使用systemctl start docker命令启动 docker 容器。

    • 作用:启动 Docker 服务,使 Docker 守护进程开始运行,从而可以创建和管理 Docker 容器。
  4. 使用systemctl status docker命令查看 docker 状态,验证是否成功。

    • 作用:查看 Docker 服务的运行状态,包括是否正在运行、启动时间、日志信息等。通过查看状态可以确定 Docker 是否成功安装和启动。
  5. 使用systemctl enable docker.service命令设置 docker 开机自启。

  • 作用:将 Docker 服务设置为在系统启动时自动启动,这样就不需要每次手动启动 Docker,提高了使用的便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值