linux docker 离线 安装

背景:客户提供了算力服务器。计划安装大模型,但要使用docker运行

  • 拷贝docker压缩包docker-24.0.7.tgz ,自行搜索下载吧。67M大小
  • 解压缩到/opt
bash 复制代码
tar xzvf /tmp/docker-24.0.7.tgz -C /opt/
  • 二进制文件拷贝到系统目录拷贝到 /user/local/bin目录下。我没有拷贝到/usr/bin目录下,因为有重名文件
  1. 创建 Docker 系统服务
cpp 复制代码
vim /etc/systemd/system/docker.service
  1. 添加以下内容
bash 复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
  1. 创建 Docker Socket 文件
bash 复制代码
sudo vim /etc/systemd/system/docker.socket
bash 复制代码
[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
  • 创建 Docker 用户组并配置
bash 复制代码
# 创建 docker 用户组
sudo groupadd docker

# 将当前用户添加到 docker 组(避免每次使用 sudo)
sudo usermod -aG docker $USER

# 重新登录或刷新组权限
newgrp docker
  • 启动并启用 Docker 服务
bash 复制代码
# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 开机自启
sudo systemctl enable docker

# 检查 Docker 服务状态
sudo systemctl status docker
  • 卸载。没用过,放着
bash 复制代码
# 停止服务
sudo systemctl stop docker
sudo systemctl disable docker

# 删除二进制文件
sudo rm -f /usr/bin/docker /usr/bin/dockerd /usr/bin/containerd*

# 删除解压目录
sudo rm -rf /opt/docker/

# 删除服务文件
sudo rm -f /etc/systemd/system/docker.service /etc/systemd/system/docker.socket

# 重新加载 systemd
sudo systemctl daemon-reload

# 删除数据(谨慎!这会删除所有镜像和容器)
sudo rm -rf /var/lib/docker/
相关推荐
tntxia21 小时前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80