温馨提示×

温馨提示×

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

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

Docker怎么构建私有仓库

发布时间:2021-09-01 09:36:41 来源:亿速云 阅读:137 作者:chen 栏目:大数据

本篇内容介绍了“Docker怎么构建私有仓库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Docker Hub

目前Docker官方维护了一个公共仓库Docker Hub,其中已经包含了数量超过15000的镜像。大部分需求都可以通过在Docker Hub中直接下载镜像来实现。

可以在https://hub.docker.com 免费注册一个Docker账号。
在命令行输入执行docker login,输入用户名及密码可以登录Docker Hub,可以通过docker logout退出登录。
通过docker search命令可以查找官方仓库中的镜像,并利用docker pull命令将镜像下载到本地。
用户登录后也可以通过docker push 命令将自己的镜像推送到Docker Hub。

私有仓库

有时候使用Docker Hub这样的公有仓库可能不方便,用户可以创建自己的私有仓库。

docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。
安装运行docker-registry
可以通过官方registry镜像来运行。默认情况下,仓库会被创建在 /var/lib/registry 目录下。
可以通过 -v 参数来将镜像文件放在本地的指定路径

docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /opt/data/registry:/var/lib/registry \
registry

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后把它推送到仓库。

先查看本地镜像:

docker image ls

使用 docker tag 将test-web:latest这个镜像标记为 127.0.0.1:5000/test-web:latest :

docker tag test-web:latest 127.0.0.1:5000/test-web:latest

使用 docker push 上传标记的镜像:

docker push 127.0.0.1:5000/test-web:latest

使用 curl 查看仓库中的镜像

curl 127.0.0.1:5000/v2/_catalog

如果可以看到 {“registry”:[“test-web”]} ,表明镜像已经被上传成功了。

先删除本地已有的镜像,再尝试从私有仓库下载这个镜像

docker image rm 127.0.0.1:5000/test-web:latest
docker pull 127.0.0.1:5000/test-web:latest

注意事项:

如果不想用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送到仓库,当把把仓库地址改为如192.168.0.101:5000时镜像还是无法推送成功。这是因为Docker 默认不允许非HTTPS方式推送镜像,我们可以通过Docker配置选项来取消这个限制。
centos7下可以修改/etc/docker/daemon.json 文件,写入如下内容:

{
  "registry": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.0.101:5000"
  ]
}

“Docker怎么构建私有仓库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

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

AI