一、docker离线安装(参考文章)
1、下载docker离线安装包
下载最新版本的 docker (或者选择自己想要安装的版本)到本地。
1)docker下载地址:Docker版本下载
此文档以x86_64平台的v26.1.4版本为准
2、安装docker(下面这些也可以换路径或者在参考下面在可视化页面灵活应用)
# 将下载后的docker安装包传至需要安装docker服务的服务器上,解压下载的docker安装包;
sudo tar -xvf docker-26.1.4-x86_64.tgz
# 给docker执行文件赋予可执行权限
sudo chmod 755 -R docker
# 复制docker到/usr/bin/目录下,使docker命令可以执行
sudo cp docker/* /usr/bin/
# 清理解压后的文件(此步骤可以选择不做)
sudo rm -rf docker docker-26.1.4-x86_64.tgz
3、配置docker服务
# 创建docker服务配置文件docker.service
sudo vim /etc/systemd/system/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
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPIDTimeoutSec=0
RestartSec=2
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
Restart=alwaysTimeoutStartSec=0
LimitNOFILE=infinity
LimitNPROC=infinityLimitCORE=infinity
Delegate=yes
KillMode=process
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target
:wq保存并退出
# 赋予docker服务配置文件docker.service执行权限
sudo chmod +x /etc/systemd/system/docker.service
4、启动docker服务
# 加载systemctl配置
sudo systemctl daemon-reload
# 启用docker服务开机自启动
sudo systemctl enable docker.service
# 启动docker服务
sudo systemctl start docker
# 检查docker服务状态
sudo systemctl status docker
# 查看安装的docker版本
sudo docker -v
docker服务离线安装并启动服务成功。
5、docker服务自定义配置
1)docker默认运行目录为/var/lib/docker/,可以根据自身服务器存储大小自定义设置运行目录;
2)可以自定义设置获取docker镜像的私有仓库;
3)可以自定义设置拉取镜像时使用的镜像站点,在中国大陆,由于网络延迟或带宽限制,直接从Docker Hub或其他国际仓库拉取镜像可能会非常慢,因此通常会配置国内的镜像镜像站点,如阿里云镜像站点,来加速镜像的拉取过程。【https://geuj9lut.mirror.aliyuncs.com】就是阿里云提供的一个Docker镜像镜像站点。
sudo mkdir -p /etc/docker
sudo mkdir -p /data/app/dockerWork
sudo vim /etc/docker/daemon.json
# 在文件中添加一下内容:
{
"data-root": "/data/app/dockerWork",
"insecure-registries": ["ss.suwell.com"],
"registry-mirrors": ["https://geuj9lut.mirror.aliyuncs.com"]
}
更改配置文件完成后,重新执行步骤4(重启docker服务)。
# 查看更改自定义后的docker服务信息
sudo docker info
注意:可能会报下面错误
离线安装docker报错ent:Server: ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/info": dial unix /var/run/docker.sock: connect: permission denied errors pretty printing info
解决:
这个错误表明当前用户没有权限访问 Docker 守护进程。以下是完整的解决方案:
解决方案(离线环境同样适用)
-
将当前用户加入 docker 用户组:
sudo usermod -aG docker $USER
-
立即生效(无需重启):
newgrp docker
-
验证权限:
groups | grep docker # 应显示docker组
-
检查docker服务状态:
sudo systemctl status docker
确保服务是"active (running)"状态。
-
如果服务未运行:
sudo systemctl start docker sudo systemctl enable docker # 设置开机自启
-
测试docker命令:
docker info
特殊情况处理
如果仍然报错,尝试:
sudo chmod 666 /var/run/docker.sock # 临时解决方案(不安全,仅测试用)
永久解决方案(推荐)
sudo nano /etc/docker/daemon.json
添加内容:
json
{ "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"] }
然后重启服务:
sudo systemctl restart docker
验证最终结果
docker run hello-world
应该能正常看到欢迎信息。