怎么搭建配置Docker私有仓库

发布时间:2022-09-15 17:00:13 作者:iii
来源:亿速云 阅读:157

怎么搭建配置Docker私有仓库

引言

Docker 是一种流行的容器化技术,广泛应用于开发、测试和部署环境中。Docker 镜像的存储和分发通常依赖于 Docker 仓库。虽然 Docker 官方提供了公共的 Docker Hub 仓库,但在某些场景下,企业或团队可能需要搭建自己的私有 Docker 仓库,以便更好地控制镜像的存储、分发和安全性。

本文将详细介绍如何搭建和配置 Docker 私有仓库,包括使用 Docker Registry 和 Harbor 两种常见的私有仓库解决方案。

1. 使用 Docker Registry 搭建私有仓库

Docker Registry 是 Docker 官方提供的开源工具,用于搭建私有 Docker 仓库。它支持基本的镜像存储和分发功能,适合小型团队或个人使用。

1.1 安装 Docker Registry

首先,确保你已经安装了 Docker。如果尚未安装,可以参考 Docker 官方文档 进行安装。

接下来,使用以下命令拉取并运行 Docker Registry 镜像:

docker run -d -p 5000:5000 --name registry registry:2

这个命令会在本地启动一个 Docker Registry 容器,并将其映射到主机的 5000 端口。

1.2 配置 Docker Registry

默认情况下,Docker Registry 是不加密的,且不需要身份验证。为了增强安全性,我们可以配置 HTTPS 和基本身份验证。

1.2.1 配置 HTTPS

首先,生成自签名证书:

mkdir -p certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt

在生成证书时,系统会提示你输入一些信息,如国家、组织名称等。请确保在 “Common Name” 字段中输入你的域名或 IP 地址。

接下来,将生成的证书挂载到 Docker Registry 容器中:

docker run -d -p 5000:5000 --name registry \
  -v $(pwd)/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2

1.2.2 配置基本身份验证

首先,创建一个用于存储用户名和密码的文件:

mkdir -p auth
docker run --entrypoint htpasswd registry:2 -Bbn username password > auth/htpasswd

然后,将认证文件挂载到 Docker Registry 容器中:

docker run -d -p 5000:5000 --name registry \
  -v $(pwd)/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  -v $(pwd)/auth:/auth \
  -e "REGISTRY_AUTH=htpasswd" \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
  registry:2

1.3 使用私有仓库

配置完成后,你可以使用以下命令将镜像推送到私有仓库:

docker tag myimage localhost:5000/myimage
docker push localhost:5000/myimage

要从私有仓库拉取镜像,可以使用以下命令:

docker pull localhost:5000/myimage

2. 使用 Harbor 搭建私有仓库

Harbor 是一个企业级的 Docker 仓库解决方案,提供了更多的功能,如用户管理、镜像复制、漏洞扫描等。Harbor 适合中大型团队或企业使用。

2.1 安装 Harbor

首先,下载 Harbor 的安装包:

wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
tar xvf harbor-offline-installer-v2.4.0.tgz
cd harbor

接下来,编辑 harbor.yml 文件,配置 Harbor 的主机名、端口、数据库等信息:

hostname: harbor.example.com
http:
  port: 80
https:
  port: 443
  certificate: /path/to/your/certificate.crt
  private_key: /path/to/your/private.key
database:
  password: your_db_password
data_volume: /data/harbor

然后,运行安装脚本:

sudo ./install.sh

安装完成后,Harbor 将会自动启动,并可以通过浏览器访问。

2.2 配置 Harbor

2.2.1 配置 HTTPS

Harbor 默认使用 HTTP,但建议配置 HTTPS 以增强安全性。你可以使用自签名证书或从受信任的证书颁发机构获取证书。

将证书和私钥文件放置在 harbor.yml 中指定的路径,然后重新配置 Harbor:

sudo ./prepare
sudo docker-compose down -v
sudo docker-compose up -d

2.2.2 配置用户和权限

Harbor 提供了基于角色的访问控制(RBAC),你可以通过 Web 界面创建用户、项目和角色,并为不同的用户分配不同的权限。

2.3 使用 Harbor

配置完成后,你可以使用以下命令将镜像推送到 Harbor:

docker tag myimage harbor.example.com/myproject/myimage
docker push harbor.example.com/myproject/myimage

要从 Harbor 拉取镜像,可以使用以下命令:

docker pull harbor.example.com/myproject/myimage

3. 总结

搭建和配置 Docker 私有仓库可以帮助企业或团队更好地管理 Docker 镜像的存储和分发。本文介绍了两种常见的私有仓库解决方案:Docker Registry 和 Harbor。Docker Registry 适合小型团队或个人使用,而 Harbor 则提供了更多的企业级功能,适合中大型团队或企业使用。

无论选择哪种解决方案,配置 HTTPS 和身份验证都是确保私有仓库安全性的重要步骤。希望本文能够帮助你成功搭建和配置 Docker 私有仓库,提升你的容器化工作流程。

推荐阅读:
  1. 如何安装配置harbor搭建docker私有仓库
  2. docker私有仓库的搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker

上一篇:小程序中如何实现excel数据批量导入

下一篇:如何搭建zabbix监控及邮件报警

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》