本篇文章给大家分享的是有关Docker中怎么创建镜像仓库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
注册登录
在命令行界面执行docker login
输入用户名及密码来完成在命令行界面登录Docker hub,也可以通过docker logout
退出登录;
拉取镜像
可以通过docker search
命令来查找官方仓库中的镜像,并利用docker pull
命令来将它下载到本地;
推送镜像
用户也可以在登录后通过docker push
命令来将自己的镜像推送到docker hub。
示例
# 命名镜像 docker tag fce289e99eb9 xufengstudy/hello-world:latest # 推送镜像 docker push xufengstudy/hello-world:latest
私有仓库
创建好私有仓库之后,就可以使用docker tag
来标记一个镜像,然后推送它到仓库;
可以通过获取官方registry镜像来运行。默认情况下,仓库会被创建在容器的/var/lib/registry
目录下。可以通过-v
参数来将镜像文件存放在本地的指定路径。
docker run --name registry -d -p 5000:5000 --restart=always -v /Users/zhangxufeng/docker-registry:/var/lib/registry registry
有时候使用docker hub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。比如,基于公司内部项目构建的镜像。docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。
安装运行docker-registry
在私有仓库上传、搜索、下载镜像
使用docker tag
将session-web:latest
这个镜像标记为127.0.0.1:5000/session-web:latest
格式为docker tag IMAGE[:tag] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
;
docker tag session-web:latest 127.0.0.1:5000/session-web:latest
使用docker push
上传标记的镜像
docker push 127.0.0.1:5000/session-web:latest
用curl查看仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog
如果可以看到{"repositories":["session-web"]}
,表明镜像已经被成功上传了。
先删除已有镜像,再尝试从私有仓库中下载这个镜像
docker image rm 127.0.0.1:5000/session-web:latest docker pull 127.0.0.1:5000/session-web:latest
注意事项
如果你不想使用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送你到私有仓库。你就得把例如192.168.100.100:5000这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。这时因为docker默认不允许非HTTPS方式推送镜像。我们可以通过docker的配置选项来取消这个限制。
对于使用systemd的系统,需要在/etc/docker/daemon.json
中写入如下内容(Windows和Mac则在设置中进行设置):
{ "regsitry-mirror": [ "https://registry.docker-cn.com" ], "insecure-registries": [ "192.168.100.100:5000" ] }
以上就是Docker中怎么创建镜像仓库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。