温馨提示×

Debian Docker 仓库怎么用

小樊
38
2025-11-03 01:18:19
栏目: 智能运维

Debian Docker仓库的使用指南
Debian系统使用Docker仓库主要分为两类场景:从Docker官方仓库安装Docker Engine(即Docker本身)和搭建/使用私有Docker仓库(用于存储、分发自定义镜像)。以下是详细操作步骤:

一、从Docker官方仓库安装Docker Engine(Debian系统)

若需在Debian上安装Docker(如Docker Engine Community Edition),需通过官方仓库获取最新稳定版本,步骤如下:

1. 准备系统环境

更新系统包列表并安装必要依赖,确保能通过HTTPS访问仓库:

sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y

2. 添加Docker官方GPG密钥

下载并添加Docker的GPG密钥,用于验证软件包的完整性和来源:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3. 添加Docker官方仓库

创建/etc/apt/sources.list.d/docker.list文件,写入官方仓库地址(根据系统架构和版本自动适配):

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装Docker Engine

更新APT包索引并安装Docker核心组件(docker-ce为社区版引擎,docker-ce-cli为客户端,containerd.io为运行时):

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

5. 验证安装

运行测试容器,确认Docker是否正常工作:

sudo docker run hello-world

若输出“Hello from Docker!”,则说明安装成功。

二、搭建/使用私有Docker仓库(Debian系统)

若需在内部网络存储、分发自定义镜像,可搭建私有Docker仓库(基于Docker官方registry镜像),步骤如下:

1. 安装Docker

若尚未安装Docker,需先完成上述“从官方仓库安装Docker”的步骤,确保系统有Docker服务。

2. 启动私有仓库容器

使用registry:2镜像启动一个私有仓库容器,将容器的5000端口映射到主机(如5000端口),并设置开机自启:

sudo mkdir -p /myregistry/docker-registry  # 创建数据存储目录
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2

3. 标记并推送镜像到私有仓库

将本地镜像标注为私有仓库的地址(格式:<仓库地址>/<镜像名>:<标签>),然后推送:

# 拉取一个测试镜像(如nginx)
sudo docker pull nginx:latest
# 标记镜像(将“nginx:latest”标记为“localhost:5000/nginx:latest”)
sudo docker tag nginx:latest localhost:5000/nginx:latest
# 推送镜像到私有仓库
sudo docker push localhost:5000/nginx:latest

4. 从私有仓库拉取镜像

若私有仓库在远程服务器(如IP为192.168.1.100),需先配置Docker客户端信任该仓库(避免HTTPS证书问题),然后拉取镜像:

# 配置Docker客户端(允许访问不安全的私有仓库)
echo '{"insecure-registries":["192.168.1.100:5000"]}' | sudo tee /etc/docker/daemon.json > /dev/null
sudo systemctl restart docker
# 拉取镜像(替换为实际IP和镜像名)
sudo docker pull 192.168.1.100:5000/nginx:latest

5. 验证私有仓库内容

通过HTTP请求查看私有仓库中的镜像列表:

curl http://localhost:5000/v2/_catalog

若返回{"repositories":["nginx"]},则说明镜像已成功存储。

注意事项

  • 安全配置:生产环境中,建议使用HTTPS而非HTTP(可通过--tlscertdir参数配置证书),并为私有仓库添加认证(如htpasswd)。
  • 兼容性:确保Debian系统版本支持Docker(如Debian 10及以上),若遇到docker-ce无安装候选问题,需检查仓库配置或系统版本。

0