Debian Docker仓库的使用指南
Debian系统使用Docker仓库主要分为两类场景:从Docker官方仓库安装Docker Engine(即Docker本身)和搭建/使用私有Docker仓库(用于存储、分发自定义镜像)。以下是详细操作步骤:
若需在Debian上安装Docker(如Docker Engine Community Edition),需通过官方仓库获取最新稳定版本,步骤如下:
更新系统包列表并安装必要依赖,确保能通过HTTPS访问仓库:
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
下载并添加Docker的GPG密钥,用于验证软件包的完整性和来源:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
创建/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
更新APT包索引并安装Docker核心组件(docker-ce为社区版引擎,docker-ce-cli为客户端,containerd.io为运行时):
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
运行测试容器,确认Docker是否正常工作:
sudo docker run hello-world
若输出“Hello from Docker!”,则说明安装成功。
若需在内部网络存储、分发自定义镜像,可搭建私有Docker仓库(基于Docker官方registry镜像),步骤如下:
若尚未安装Docker,需先完成上述“从官方仓库安装Docker”的步骤,确保系统有Docker服务。
使用registry:2镜像启动一个私有仓库容器,将容器的5000端口映射到主机(如5000端口),并设置开机自启:
sudo mkdir -p /myregistry/docker-registry # 创建数据存储目录
sudo docker run -d -p 5000:5000 --restart=always --name registry registry:2
将本地镜像标注为私有仓库的地址(格式:<仓库地址>/<镜像名>:<标签>),然后推送:
# 拉取一个测试镜像(如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
若私有仓库在远程服务器(如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
通过HTTP请求查看私有仓库中的镜像列表:
curl http://localhost:5000/v2/_catalog
若返回{"repositories":["nginx"]},则说明镜像已成功存储。
--tlscertdir参数配置证书),并为私有仓库添加认证(如htpasswd)。docker-ce无安装候选问题,需检查仓库配置或系统版本。