当前位置: 首页 > news >正文

linux Debian 12 安装 Docker(手动)

因为自动安装一直失败,就只能手动了

  1. 确保系统已更新到最新版本:

    sudo apt update && sudo apt upgrade -y
  2. 安装必要的依赖包:

    sudo apt install -y curl apt-transport-https ca-certificates

一、使用 curl 下载所需的 .deb 包。请确保在下载目录中执行以下命令:

curl下载不了的话,就下载到自己电脑上,再上传到服务器里

# 下载 containerd.io
curl -O https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/containerd.io_1.7.24-1_amd64.deb# 下载 docker-ce
curl -O https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-ce_27.4.1-1~debian.12~bookworm_amd64.deb# 下载 docker-ce-cli
curl -O https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-ce-cli_27.4.1-1~debian.12~bookworm_amd64.deb# 下载 docker-buildx-plugin
curl -O https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-buildx-plugin_0.19.3-1~debian.12~bookworm_amd64.deb# 下载 docker-compose-plugin
curl -O https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-compose-plugin_2.32.1-1~debian.12~bookworm_amd64.deb
PS:如果网络下载失败,换地址,例如阿里、清华等

二、 安装 Docker 包

使用 dpkg 一次性安装下载的所有 .deb 包:

sudo dpkg -i ./containerd.io_1.7.24-1_amd64.deb \./docker-ce_27.4.1-1~debian.12~bookworm_amd64.deb \./docker-ce-cli_27.4.1-1~debian.12~bookworm_amd64.deb \./docker-buildx-plugin_0.19.3-1~debian.12~bookworm_amd64.deb \./docker-compose-plugin_2.32.1-1~debian.12~bookworm_amd64.deb

安装出现以下问题解决方式:

问题一:

dpkg: error processing package docker-ce (--configure):subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin (2.23-0ubuntu11) ...
Errors were encountered while processing:docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方式:

cd /var/lib/dpkg  -- 进入这个目录
sudo mv info info.bak  -- 备份一下
sudo mkdir info  -- 创建新的
sudo apt-get install docker-ce docker-ce-cli containerd.io  -- 安装

验证:

执行命令:docker -v出现:Docker version 27.4.1, build b9d17ea

问题二:

解决问题一的时候可能会出现如下问题:

Try 'apt --fix-broken install' with no packages (or specify a solution).

You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:docker-ce : Depends: iptables but it is not going to be installedRecommends: docker-ce-rootless-extras but it is not installableRecommends: git but it is not going to be installedRecommends: libltdl7 but it is not going to be installedRecommends: pigz but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

解决方式:

执行命令:sudo apt --fix-broken install

验证:

执行命令:docker ps出现容器目录就ok

问题三:

解决问题二可能出现下面问题,这是没启动的原因,执行启动命令就行

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

systemctl start docker 执行启动

问题四:

如果启动出现:A dependency job for docker.service failed. See 'journalctl -xe' for details.

排查问题:

通过 journalctl -xe | grep -i docker 命令,查看是否出现docker.socket 服务启动失败导致的依赖问题

docker.socket: Control process exited, code=exited, status=216/GROUP

docker.socket: Control process exited, code=exited, status=216/GROUP
░░ An ExecStartChown= process belonging to unit docker.socket has exited.
Oct 29 14:52:07 iZuf6dyhgpwoq57rwg7h9mZ systemd[1]: docker.socket: Failed with result 'exit-code'.
░░ The unit docker.socket has entered the 'failed' state with result 'exit-code'.
Oct 29 14:52:07 iZuf6dyhgpwoq57rwg7h9mZ systemd[1]: Failed to listen on docker.socket - Docker Socket for the API.

解决问题:

首先查看 docker.socket 配置文件(通常位于 /etc/systemd/system/docker.socket 或 /lib/systemd/system/docker.socket),发现配置存在异常。手动重建正确的配置:

执行命令:

sudo mv /etc/systemd/system/docker.socket /etc/systemd/system/docker.socket.bak 2>/dev/null# 创建正确的配置文件
sudo tee /etc/systemd/system/docker.socket <<EOF
[Unit]
Description=Docker Socket for the API[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target
EOF

目录权限处理:

# 清理残留的套接字文件
sudo rm -f /var/run/docker.sock# 确保目录权限正确
sudo chmod 755 /var/run# 重建 docker 用户组(避免权限不足)
sudo groupadd -f docker
sudo usermod -aG docker root  # 将当前用户加入 docker 组

重启加载配置服务:

# 重新加载 systemd 配置
sudo systemctl daemon-reload# 启动 docker.socket 服务
sudo systemctl start docker.socket# 检查状态(确认已 active)
systemctl status docker.socket

验证Docker启动:

# 启动 Docker 服务
sudo systemctl start docker# 检查状态
systemctl status docker

此时日志显示 active (running),说明 Docker 服务已成功启动

http://www.dtcms.com/a/544761.html

相关文章:

  • 天津网站建设培训wordpress网页如何公开
  • 从零到一:用仓颉语言打造你的第一个鸿蒙应用
  • VUE的“单向数据绑定” 和 “双向数据绑定”
  • Profile-Guided Optimization(PGO):Rust 性能优化的终极武器
  • 仓颉FFI实战:C/C++互操作与性能优化
  • FAQ09934:相机prevew时候出现水印问题
  • 基于XML方式的声明式事务管理 -》某配置文件解读
  • 神领物流v2.0-day01-环境搭建与登录笔记(个人记录、含练习答案、仅供参考)
  • 网页广告多少钱wordpress4.9.8优化
  • 佛山门户网站建设公司关键词搜索量全网查询
  • 国内数字孪生公司:技术革新与产业落地的双轮驱动
  • Photoshop 图片去除水印技巧:从简单背景到复杂平铺
  • 嵌入式linux进程间通信七种方法
  • 一元二次方程求根公式、牛顿迭代法、高斯消元法、二分法、方程求解、收敛性、初始值、主元、应用场景
  • P7071 [CSP-J2020] 优秀的拆分
  • LangChain 提示模板之少样本示例(一)
  • 建设好网站外链有哪些方式手机做任务佣金的网站
  • iOS 26 描述文件管理与开发环境配置 多工具协作的实战指南
  • 飞书在用AI“撬动”电商行业
  • 哪些网站不能备案室内设计师网络接单
  • uniapp设置vuex公共值状态管理
  • SpringCloud 负载均衡Ribbon 和 声明式服务调用Feign
  • 【STM32】串口通信及相关实验和项目
  • 7.1.2.3 大数据方法论与实践指南-报表指标管理系统+BI
  • 7.1.2.1 大数据方法论与实践指南-指标治理最佳实践
  • Go Web 编程快速入门 12 - 微服务架构:服务发现、负载均衡与分布式系统
  • 最新网站架构wordpress自动采集更新
  • uniapp 生成二维码图片[APP+H5+小程序等 全端适配]
  • 为什么有的mcu烧录的时候是用hex,有的是用bin
  • 帮人建网站价格wordpress左侧菜单怎么添加