Docker 离线安装

妖狐艹你老母 2023-10-06 09:02 128阅读 0赞

说明
使用虚拟机真实模仿离线环境
虚拟机系统为 CentOS 7.5.1804(kernel-3.10.0-862.el7.x86_64)

本文使用 tgz 文件 离线安装 Docker

提示
如果使用非root用户安装docker,则需要先将该用户加入docker用户组。

  1. 创建 docker 用户组 sudo groupadd docker
  2. 将用户添加到 docker用户组 sudo usermod -aG docker $USER
  3. 刷新用户组的变更 newgrp docker
  4. 执行 groups 命令查看当前用户所在用户组,有 docker 则表示加入成功。

安装步骤

  1. 下载 Docker 二进制文件(离线安装包):下载地址
    本文使用 /x86_64/docker-17.12.1-ce.tgz,注意对应操作系统类型。
  2. 通过 FTP工具将 docker-17.12.1-ce.tgz 上传到服务器上
  3. 解压安装包
    tar zxf docker-17.12.1-ce.tgz
  4. 将docker 相关命令拷贝到 /usr/bin,方便直接运行命令
    sudo cp docker/* /usr/bin/
  5. 启动Docker守护程序
    sudo dockerd &
  6. 验证是否安装成功,执行docker info命令,若正常打印版本信息则安装成功。报错则参考docker环境问题清单进行排查。

另外:可通过运行hello-world镜像进行验证

  • 事先准备好 hello-world 镜像 tar 文件并上传到服务器上(下载链接)
  • 通过 docker load -i {tar文件名} 加载镜像
  • 执行 docker run hello-world 拉起容器,通过日志判断容器是否成功运行。

如何停止 docker 服务?

方式一:根据进程号(pid)停止docker服务
执行 ps -aux | grep dockerd 查看docker的pid
执行 kill {pid} 杀死docker进程(若无法正常终止进程可加上 -9 参数强制终止,即 kill -9 {pid})

方式二:通过systemctl stop docker 停止服务
需要先将docker注册成系统服务,参见下文。

如何将docker注册成系统服务?

在 /usr/lib/systemd/system/ 目录下创建docker.service 文件
sudo vi /usr/lib/systemd/system/docker.service

  1. [Unit]
  2. Description=Docker Application Container Engine
  3. Documentation=https://docs.docker.com
  4. After=network-online.target firewalld.service
  5. Wants=network-online.target
  6. [Service]
  7. Type=notify
  8. ExecStart=/usr/bin/dockerd
  9. ExecReload=/bin/kill -s HUP $MAINPID
  10. LimitNOFILE=infinity
  11. LimitNPROC=infinity
  12. TimeoutStartSec=0
  13. Delegate=yes
  14. KillMode=process
  15. Restart=on-failure
  16. StartLimitBurst=3
  17. StartLimitInterval=60s
  18. [Install]
  19. WantedBy=multi-user.target
  • 启动 / 停止 docker 服务
    systemctl start/stop docker
  • 开机自启 / 取消开机自启 docker 服务
    systemctl enable/disable docker

题外话:

  • 如何不使用 docker pull 命令,下载镜像tar 文件?
    Downloading Docker Images from Docker Hub without using Docker
    How do I download Docker images without using the pull command?
    Fetch docker images without docker command. e.g. with wget
    方案一:通过脚本下载镜像(需要 curl 、jq、go 依赖,通过 yum install curl jq go -y 安装):https://github.com/moby/moby/blob/master/contrib/download-frozen-image-v2.sh
  • 迁移一台服务器的镜像到另一台服务器?
    How to copy docker images from one host to another?
    How to copy Docker images from one host to another without using a repository

reference:
Docker官网 二进制安装包安装文档
Docker tgz包下载地址
Docker Hello-world 镜像
yum安装软件时出现No package ** available的问题


end

发表评论

表情:
评论列表 (有 0 条评论,128人围观)

还没有评论,来说两句吧...

相关阅读