找回密码
 注册
关于网站域名变更的通知
查看: 180|回复: 1
打印 上一主题 下一主题

docker 私有仓库搭建

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-3 13:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
概要
docker hub 使用非常方便,而且上面有大量的镜像可以使用。 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协作开发的时候更新效率就会提高很多。
所以,下面我们尝试搭建自己的 docker 仓库。
本地私有仓库
首先搭建一个只有自己本机能够使用的 docker 仓库,目的是为了尝试私有仓库的最简化方法。
  • 安装 registry
    $ docker pull registryUsing default tag: latestlatest: Pulling from library/registry709515475419: Pull complete df6e278d8f96: Pull complete 4b0b08c1b8f7: Pull complete 80119f43a01e: Pull complete acf34ba23c50: Pull complete Digest: sha256:412e3b6494f623a9f03f7f9f8b8118844deaecfea19e3a5f1ce54eed4f400296Status: Downloaded newer image for registry:latest
  • 运行本地的 registry
    docker run -d -p 5000:5000 --restart=always --name registry \    -v /your/path/to/registry-images:/var/lib/registry \    registry:latest
  • 将某个已有的 image 存入 registry
    docker tag jdeathe/centos-ssh:centos-7 localhost:5000/ssh:7     docker push localhost:5000/ssh:7
    • jdeathe/centos-ssh:centos-7 是已有的 image
    • localhost:5000/ssh:7 是准备提交到 本地 registry 的 image,这里 localhost:5000 是本地 registry 的' Q( E# L. u' V* Y$ B7 ?
  • pull 已经提交到 registry 的镜像
    docker pull localhost:5000/ssh:7
    1 @- @% K9 v6 U$ O! v
局域网私有仓库
如上,搭建一个只有本机访问的私有镜像非常简单,不用对已有的 docker 服务进行任何配置。 如果要搭建一个能在局域网内访问的 docker 仓库,就需要对 docker 服务进行一些简单的配置。
首先,在主机 A 上:
  • 安装 registry 镜像(同上)
  • 将某个 image 导入 registry,这里使用主机 A 的 IP 而不是 localhost
    docker tag jdeathe/centos-ssh:centos-7 192.168.0.111:5000/ssh:7     docker push 192.168.0.111:5000/ssh:7
  • 修改主机 A 的 docker 配置(/etc/docker/daemon.json 文件不存在则直接创建)
    {    "insecure-registries": ["192.168.0.111:5000"]}
  • 重启 docker 服务
    sudo systEMCtl restart docker0 T+ e/ u  C8 z8 N1 B5 u0 f: b
在同一局域网中的另一台主机 B 上
  • 修改 docker 配置(/etc/docker/daemon.json 文件不存在则直接创建),使 docker daemon 能连上私有的 registry
    {    "registry-mirrors": ["192.168.0.111:5000"],    "insecure-registries": ["192.168.0.111:5000"]}
  • 重启 docker 服务
    sudo systemctl restart docker
  • 下载主机 A 中仓库的镜像,在局域网中速度非常快,以后开发过程中做部署测试就非常方便了。
    docker pull 192.168.0.111:5000/ssh:7
    6 @7 R$ {) ?. Z* P8 z# B
总结
上面只是简单的搭建了私有仓库,主要用在开发和测试环境中,如果要在生产环境中搭建 docker 私有仓库的话, 就不能使用上面 insercure-registry 的方式,需要配置 tls 的证书和认证,确保私有仓库的安全性。

# x5 N+ i+ m' \) G' f

该用户从未签到

2#
发表于 2020-8-3 14:34 | 只看该作者
docker 私有仓库搭建
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 10:35 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表