docker如何搭建本地私有仓库

发布时间:2021-11-20 16:18:15 作者:小新
来源:亿速云 阅读:189
# Docker如何搭建本地私有仓库

## 一、私有仓库的作用

在企业或团队开发中,使用Docker私有仓库(Registry)有以下优势:
1. **安全隔离**:避免将敏感镜像暴露在公网
2. **带宽优化**:减少从Docker Hub重复拉取镜像的时间消耗
3. **版本控制**:自主管理内部镜像版本

## 二、快速搭建私有仓库

### 1. 使用官方Registry镜像
```bash
# 拉取最新registry镜像
docker pull registry:2

# 启动容器(默认使用5000端口)
docker run -d -p 5000:5000 --name my-registry registry:2

2. 配置HTTPS(生产环境必需)

# 生成自签名证书
openssl req -x509 -newkey rsa:4096 -nodes -keyout domain.key -out domain.crt -days 365

# 启动带证书的registry
docker run -d -p 5000:5000 --name secure-registry \
  -v $(pwd)/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2

三、客户端配置

1. 允许非安全连接(仅测试环境)

编辑/etc/docker/daemon.json

{
  "insecure-registries": ["your-server-ip:5000"]
}

重启Docker服务:sudo systemctl restart docker

2. 推送/拉取镜像示例

# 标记本地镜像
docker tag nginx:alpine your-server-ip:5000/my-nginx

# 推送镜像
docker push your-server-ip:5000/my-nginx

# 拉取镜像
docker pull your-server-ip:5000/my-nginx

四、高级功能扩展

  1. 身份验证
# 创建密码文件
docker run --entrypoint htpasswd registry:2 -Bbn user password > auth/htpasswd

# 启动带认证的registry
docker run -d -p 5000:5000 --name auth-registry \
  -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. Web UI管理: 推荐使用docker-registry-ui等开源项目实现可视化管理。

五、注意事项

  1. 生产环境必须配置HTTPS和访问认证
  2. 定期清理旧镜像可使用registry:2自带的垃圾回收机制
  3. 大数据量建议配置持久化存储卷

通过以上步骤,您已成功搭建企业级Docker私有仓库,后续可通过CI/CD流水线实现自动化镜像发布。 “`

推荐阅读:
  1. docker私有仓库的搭建
  2. docker私有仓库搭建

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

docker

上一篇:怎么使用Python的While循环语句

下一篇:怎么搭建Mysql单机实例

相关阅读

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

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