docker的离线安装
docker的离线安装
一.前言
有时候我们需要在无法连接互联网的服务器上安装docker,这个时候就需要我们先下载好docker安装包,上传到服务器后,进行离线安装。本文中主要是介绍在Ubuntu 22.04操作系统中以二进制包和deb包,两种方式来安装docker。
二.二进制安装
1.下载二进制包
我们需要访问https://download.docker.com/linux/static/stable/x86_64/这个网址,在网页选择相应的版本二级制安装包进行下载。本文示例中是下载了docker-28.2.2.tgz这个版本的安装包。
2.解压安装包
我们把下载的docker-28.2.2.tgz安装包上传到服务器后,需要对该安装包进行解压操作。
tar -zxvf docker-28.2.2.tgz
3.Docker安装
(1).拷贝二进制文件
docker-28.2.2.tgz安装包解压后,我们需要把解压出来的所有二进制文件内容拷贝到/usr/bin/这个目录下。
cp -R docker/* /usr/bin/
拷贝完成后,这时我们使用docker –v命令来查看docker安装的版本信息。由于此时没有开启守护进程服务,所以docker的一些其他命令暂时还不能使用。
(2) .添加docker.service文件
docker.service文件是Docker守护进程(Docker Daemon)在Linux操作系统上使用 systemd作为初始化系统时的服务单元配置文件。docker.service文件的核心作用在于定义和控制Docker守护进程的生命周期和行为。它定义了Docker守护进程(dockerd)如何被systemd启动、停止、管理以及运行时的环境。
- 创建docker.service文件
我们需要在/etc/systemd/system/目录下创建一个docker.service文件。
vim /etc/systemd/system/docker.service
- 在docker.service文件中添加内容
在docker.service文件中添加如下内容:
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit nofile=65536:65536ExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target
- 给docker.service文件可执行权限
在新建好docker.service文件后,保存退出,我们在要给该文件添加可执行的权限。
chmod +x /etc/systemd/system/docker.service
4.Docker服务相关命令
- 重新加载守护进程配置
systemctl daemon-reload
- 启动docker服务
systemctl start docker
- 设置开机启动
systemctl enable docker
- 查看docker服务状态
systemctl status docker
通过执行以上的一些命令后,docker已经安装完毕,可以正式使用了。例如我们可以使用docker images命令来查看docker中的镜像。
docker images
三.deb包安装
1.下载deb包
我们访问https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/这个docker官方下载地址网址。在网页选择相应版本的deb文件进行下载。
如果网络不稳定的话,我们也可以访问国内清华镜像网址https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/dists/jammy/pool/stable/amd64/来下载相应的deb文件。
本文中操作系统是Ubuntu22.04,所以下载了以下三个安装包:
1 | containerd.io_1.7.27-1_amd64.deb |
2 | docker-ce-cli_28.3.0-1~ubuntu.22.04~jammy_amd64.deb |
3 | docker-ce_28.3.0-1~ubuntu.22.04~jammy_amd64.deb |
2.安装deb包
(1).安装容器运行时
sudo dpkg -i containerd.io_1.7.27-1_amd64.deb
containerd.io_1.7.27-1_amd64.deb文件是安装容器运行时(Container Runtime),它是docker的底层依赖。所以我们必须首先安装它。
(2). 安装命令行工具
sudo dpkg -i docker-ce-cli_28.3.0-1~ubuntu.22.04~jammy_amd64.deb
docker-ce-cli_28.3.0-1~ubuntu.22.04~jammy_amd64.deb文件是docker命令行工具(CLI),用于操作docker引擎。它依赖containerd.io,所以要第二个安装。
(3). 安装docker引擎
sudo dpkg -i docker-ce_28.3.0-1~ubuntu.22.04~jammy_amd64.deb
docker-ce_28.3.0-1~ubuntu.22.04~jammy_amd64.deb文件是用于安装docker引擎,它依赖于容器运行时(containerd.io)和命令行工具(docker-ce-cli)前两个组件,所以最后安装。
3.安装检测
我们通过dpkg命令按顺序安装完成上面的三个安装包后,docker就已经正式安装完成了。我们可以通过以下命令来检测docker是否安装成功。
- 查看安装docker版本
docker –v
- 运行docker守护进程
systemctl status docker
检查docker服务的状态是否正常运行
- 执行docker命令
docker images
通过执行docker images命令,查看docker中的镜像。
四.docker镜像加速
有时候在国内网络环境拉取镜像文件时,网速会比较慢。为了提升镜像文件的拉取速度,我们可以使用镜像加速,为docker配置国内的镜像源。
(1).新建和编辑daemon.json
vim /etc/docker/daemon.json
在/etc/docker/目录下创建daemon.json文件,在文件registry-mirrors节点中配置国内的一些镜像源即可。如:阿里,网易,中科大等一些机构的镜像源。
{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]}
(2).重启docker服务
systemctl restart docker
创建好daemon.json文件,我们只需要重启docker服务,以上步骤中配置的阿里镜像源就可以生效了。