Debian9 安装docker-ce和docker-compose

本文详细介绍在Debian9Stretch上安装Docker的过程,包括卸载旧版本、更新包列表、配置HTTPS仓库、添加官方GPG密钥、安装指定版本的DockerCE,以及解决swap限制警告的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

  • debian 9 Stretch

安装 docker

docker-ce 即 DOCKER ENGINE - COMMUNITY

卸载旧版本

目前我没遇到,但是还是卸载一下比较好

sudo apt-get remove docker docker-engine docker.io containerd runc

更新现有的包列表

sudo apt-get update

安装软件包以允许apt通过HTTPS使用存储库

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg2 \
    software-properties-common

添加Docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

验证是否拥有带有指纹的密钥(可选)

sudo apt-key fingerprint 0EBFCD88

显示

pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

与指纹的后8个字符9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88相同

将Docker存储库添加到APT源

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

安装最新版 docker-ce

使用新添加的repo中的Docker包更新包数据库

sudo apt-get update

安装最新版 docker-ce

sudo apt-get install docker-ce

安装指定版本 docker-ce

使用新添加的repo中的Docker包更新包数据库

sudo apt-get update

列出适配当前系统的 docker-ce 版本

apt-cache madison docker-ce

显示

 docker-ce | 5:19.03.7~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
 docker-ce | 5:19.03.6~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
 docker-ce | 5:19.03.5~3-0~debian-stretch | https://download.docker.com/linux/debian stretch/stable amd64 Packages
 ...

安装指定版本 docker-ce

sudo apt-get install docker-ce=<VERSION_STRING>

<VERSION_STRING>5:19.03.7~3-0~debian-stretch

安装 docker-compose

获取

Compose repository release page on GitHub

安装

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

增加可执行权限

chmod +x /usr/local/bin/docker-compose

参考

问题解决

docker info 提示 WARNING: No swap limit support

Docker可以通过启动命令来限制容器可以使用的最大物理内存和swap,但是通常在使用这些命令的时候经常会碰到“WARNING: No swap limit support”警告,大概意思就是不支持swap内存的限制。

  1. 打开文件
vi /etc/default/grub
  1. 追加内容
    GRUB_CMDLINE_LINUX的内容后进行追加,原内容不要改动
cgroup_enable=memory swapaccount=1

添加之前要加上空格,使其和前面的内容分开

# This file was created by bootstrap-vz.
# See https://github.com/andsens/bootstrap-vz/blob/master/LICENSE for
# legal notices and disclaimers.

GRUB_TERMINAL="console"
GRUB_CMDLINE_LINUX="console=ttyS0,38400n8 elevator=noop scsi_mod.use_blk_mq=Y net.ifnames=0 biosdevname=0 cgroup_enable=memory swapaccount=1"
GRUB_TIMEOUT=0
GRUB_SERIAL_COMMAND="serial"
GRUB_DISABLE_RECOVERY=True
GRUB_GFXMODE="auto"
GRUB_HIDDEN_TIMEOUT_QUIET=True
GRUB_HIDDEN_TIMEOUT=0
GRUB_DEFAULT=0

  1. 保存升级
sudo update-grub
  1. 重启服务器
reboot
<think>好的,我需要帮用户解决在Debian 12上安装Docker Compose插件的问题。首先,我应该回忆一下Docker Compose的不同安装方式,特别是现在Docker官方推荐使用docker-compose-plugin作为替代单独的docker-compose工具。 首先,用户需要确保已经安装Docker引擎。因为Docker Compose插件是依赖于Docker的,所以如果用户还没有安装Docker,我得先指导他们完成这一步。不过用户的问题可能已经安装Docker,但为了全面,我应该包括检查Docker是否安装的步骤,这样即使他们没装过也能跟上。 接下来,安装Docker Compose插件。Debian 12的软件源里应该已经有了docker-compose-plugin包。所以步骤应该是更新软件包索引,然后安装这个包。需要确认包的名字是否正确,通常可能是docker-compose-plugin或者类似的。另外,安装完成后,可能需要验证安装是否成功,比如运行docker compose version命令,这里要注意插件版本可能与旧版docker-compose命令不同,所以需要提醒用户使用新的命令格式,比如用docker compose而不是docker-compose。 另外,考虑到用户可能习惯使用旧的docker-compose命令,可能需要创建符号链接或者别名,这样他们可以继续使用习惯的命令。不过这一步是可选的,需要明确说明。 在步骤中,还要注意权限问题,比如是否要将用户加入docker组,避免每次都要用sudo。如果用户之前安装Docker的时候已经处理过,可能不需要,但如果有问题,可能需要提醒他们执行sudo usermod -aG docker $USER然后重新登录。 最后,验证安装是否成功,运行一个简单的docker compose up的例子,比如用官方的示例项目,比如Nginx,这样可以测试整个流程是否正常。 需要注意的地方包括:使用sudo权限执行命令,确保所有步骤都正确无误,语法正确,特别是包管理器的命令,比如apt updateapt install。还有,提醒用户如果遇到依赖问题,可能需要先启用Docker的官方源,如果他们不是从Debian安装Docker的话。比如,如果用户按照Docker官网的步骤安装Docker,可能需要添加Docker的仓库,这时候安装插件也应该没问题。但如果他们使用的是Debian自带的Docker版本,可能版本较旧,这时候可能需要调整。 所以整个流程应该是: 1. 更新系统并安装Docker(如果需要) 2. 安装Docker Compose插件 3. 验证安装 4. 可选步骤:创建别名或符号链接 5. 测试使用 需要确保每个步骤的命令正确,特别是包名称是否正确,避免用户复制时出错。同时,使用中文清晰说明每个步骤的目的,帮助用户理解他们在做什么,而不仅仅是复制命令。如果有常见问题,比如权限问题或命令找不到的情况,也应该在步骤中提及解决方法。</think>### Debian 12 安装 Docker Compose 插件详细步骤 --- #### **步骤 1:安装 Docker 引擎** Docker Compose 插件依赖 Docker 环境,需先安装 Docker: ```bash # 更新软件包索引 sudo apt update # 安装 Docker 依赖 sudo apt install ca-certificates curl gnupg # 添加 Docker 官方 GPG 密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # 添加 Docker 仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装 Docker sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io ``` --- #### **步骤 2:安装 Docker Compose 插件** 通过官方仓库直接安装插件包: ```bash sudo apt install docker-compose-plugin ``` --- #### **步骤 3:验证安装** 检查 Docker Compose 版本: ```bash docker compose version ``` 正常输出应类似: ``` Docker Compose version v2.24.5 ``` --- #### **步骤 4:配置用户权限(可选)** 避免每次使用 `sudo`,将当前用户加入 `docker` 组: ```bash sudo usermod -aG docker $USER newgrp docker # 立即生效或重启终端 ``` --- #### **步骤 5:测试 Docker Compose** 1. 创建测试目录并编写 `docker-compose.yml`: ```bash mkdir ~/test-compose && cd ~/test-compose nano docker-compose.yml ``` 2. 输入以下内容(启动 Nginx 服务): ```yaml version: &#39;3&#39; services: web: image: nginx:alpine ports: - "8080:80" ``` 3. 启动服务: ```bash docker compose up -d ``` 4. 访问 `http://localhost:8080` 应看到 Nginx 欢迎页。 --- #### **常见问题** 1. **命令未找到** 确保安装包名正确,插件命令为 `docker compose`(注意空格,非旧版 `docker-compose`)。 2. **权限拒绝** 检查用户是否在 `docker` 组,或尝试使用 `sudo` 临时提权。 --- #### **附:兼容旧命令(可选)** 创建符号链接以使用 `docker-compose` 命令: ```bash sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose ``` 按此流程操作,即可在 Debian 12 上顺利完成 Docker Compose 插件的安装与验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值