Docker本地镜像发布到私有库

这篇具有很好参考价值的文章主要介绍了Docker本地镜像发布到私有库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker Registry(Docker镜像仓库)

使用Docker Registry,可以创建私有或公共的镜像仓库,以存储Docker镜像。私有仓库可以用于存储公司内部的镜像,或者用于个人项目的镜像。公共仓库则会将发布的镜像分享到全世界。

1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且有被阿里云取代的趋势,不太主流。

2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。

Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

将本地镜像推送到私有库

Docker本地镜像发布到私有库,docker,docker

1.下载Docker Registry

docker pull registry

Docker本地镜像发布到私有库,docker,docker

2.运行私有库Registry

相当于本地有个私有Docker hub

docker run -d -p 5000:5000 -v /dongguo/myregistry/:/tmp/registry --privileged=true registry

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调

这里指定了映射到/tmp/registry

5000:5000 主机端口映射:容器端口映射

Docker本地镜像发布到私有库,docker,docker

Docker挂载主机目录访问如果出现cannot open directory .: Permission denied

解决办法:在挂载目录后多加一个–privileged=true参数即可

如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,

所以在SELinux里面挂载目录被禁止掉了,如果要开启,我们一般使用–privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即使用该参数,container内的root才会拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。

3.创建一个新镜像,

原始的Ubuntu镜像是不带着ifconfig命令的

Docker本地镜像发布到私有库,docker,docker

安装ifconfig命令并测试通过

docker容器内执行上述两条命令:

apt-get update

apt-get install net-tools

Docker本地镜像发布到私有库,docker,docker

安装完成后,commit我们自己的新镜像

docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

命令:在容器外执行,记得

docker commit -m=“ifconfig cmd add” -a=“dongguo” 2d505785580d dongguoubuntu:1.0.2

Docker本地镜像发布到私有库,docker,docker

启动我们的新镜像

Docker本地镜像发布到私有库,docker,docker

1 官网是默认下载的Ubuntu没有ifconfig命令

2我们自己commit构建的新镜像,新增加了ifconfig功能,可以成功使用。

4.curl验私服库上有什么镜像

curl -XGET http://192.168.122.139:5000/v2/_catalog

192.168.122.139为对应linux主机的ip

可以看到,目前私服库没有任何镜像发布

Docker本地镜像发布到私有库,docker,docker

5.将新镜像dongguoubuntu:1.0.2修改符合私服规范的Tag

按照公式:

docker tag 镜像:Tag Host:Port/Repository:Tag

使用命令 docker tag 将dongguoubuntu:1.0.2 这个镜像修改为192.168.122.139:5000/dongguoubuntu:1.0.2

docker tag dongguoubuntu:1.0.2 192.168.122.139:5000/dongguoubuntu:1.0.2

Docker本地镜像发布到私有库,docker,docker

6.修改配置文件使之支持http

docker默认不允许http方式推送镜像,通过配置选项来取消这个限制

修改完后如果不生效,建议重启docker

1编辑daemon.json

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://vpmkvcwz.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.122.139:5000"]
}

Docker本地镜像发布到私有库,docker,docker

2.查看daemon.json

cat /etc/docker/daemon.json

Docker本地镜像发布到私有库,docker,docker

3.重启docker

systemctl restart docker

4.重新启动私服仓库

docker run -d -p 5000:5000 -v /dongguo/myregistry/:/tmp/registry --privileged=true registry

Docker本地镜像发布到私有库,docker,docker

7.push推送到私服库

docker push 192.168.122.139:5000/dongguoubuntu:1.0.2

Docker本地镜像发布到私有库,docker,docker

8.curl再次验证私服库上的镜像

curl -XGET http://192.168.122.139:5000/v2/_catalog

此时,私服库中已经存在我们推送的镜像

Docker本地镜像发布到私有库,docker,docker

将私服库上的镜像下载到本地

1删除本地镜像 dongguoubuntu

docker rmi -f b29ae4619ffb

Docker本地镜像发布到私有库,docker,docker

2.将私服库上的镜像下载到本地

docker pull 192.168.122.139:5000/dongguoubuntu:1.0.2

Docker本地镜像发布到私有库,docker,docker

3.启动下载到本地的镜像

docker run -it b29ae4619ffb /bin/bash

Docker本地镜像发布到私有库,docker,docker文章来源地址https://www.toymoban.com/news/detail-568242.html

到了这里,关于Docker本地镜像发布到私有库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 五、Docker镜像发布到阿里云/私有库

    学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 我们可以把自己的镜像文件存放到阿里云,也可以存到自己的私服。 阿里云容器服务 登录阿里云—搜索容器镜像服务—创建个人实例–进入个人实例 创建明明空间 点击创建后会提示输入

    2024年02月11日
    浏览(28)
  • 群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像

    @[群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像] 在进行微服务开发时,一些基础服务组件(Nacos、Redis、Mysql)的运行以及越来越多的业务服务组件的开发,会导致开发者电脑的内存资源紧张,此时我们可以把一些基础服务组件和基本业务组件(认证中

    2024年02月05日
    浏览(35)
  • 【Docker】使用docker-maven-plugin插件构建发布推镜像到私有仓库

    本文描述了在Spring Boot项目中通过docker-maven-plugin插件把项目推送到私有docker仓库中,随后拉取仓库中的项目用docker run运行项目。作者自行构建,质量有保证。 1、要想使用 docker-maven-plugin ,需要在 pom.xml 中添加该插件; 注:注意下db:3306 2、我们构建镜像之前需要先将项目打包

    2024年02月15日
    浏览(34)
  • 【Docker】将本地镜像推送到远程库/私有库

    这里记录如何将本地镜像推送到远程库和私有库。 区别,一个是存放到阿里云,同一个团队可以登录到同一个阿里云仓库,去拉取镜像。一个是存放到本地私有库,同一个团队可以连接同一个私有库,去拉取镜像。例如,有重要机密东西不想放到阿里云仍然可以进行协调工作

    2024年02月05日
    浏览(34)
  • idea配置docker推送本地镜像到远程私有仓库

    目录 1,搭建远程Docker 私有仓库 Docker registry 2,Windows10/11系统上安装Docker Desktop 3,idea 配置远程私有仓库地址 4,idea 配置Docker 5,idea在本地构建镜像 6,推送本地Docker镜像到远程 Docker私有仓库 7,测试/生产环境从 Docker registry 私有仓库中拉取镜像 1,搜索镜像 2,拉取镜像并

    2024年02月03日
    浏览(33)
  • docker <应用分享> 上传镜像到 私有仓库 / 本地仓库,从私库拉取镜像

    前两篇博客写了docker上传镜像到dockerhub,以及上传镜像到阿里云仓库。感兴趣的可以点下面链接 docker上传镜像到dockerhub docker上传镜像到阿里云 前面两种方式都是放在云上,对于一些私密性比较高的东西,总归是不太安全。 这个时候就用到了docker私有仓库,在本地创建一个私

    2023年04月19日
    浏览(32)
  • Docker|kubernetes|本地镜像批量推送到Harbor私有仓库的脚本

    前言: 可能有测试环境,而测试环境下有N多的镜像,需要批量导入到自己搭建的Harbor私有仓库内,一般涉及到批量的操作,自然还是使用脚本比较方便。 本文将介绍如何把某个服务器的本地镜像 推送到带有安全证书的私有Harbor仓库。 一, ###本例中,私有Harbor仓库的地址是

    2024年02月10日
    浏览(30)
  • Docker镜像详解(手拉手教你上传至阿里云,发布到私有库)

    镜像:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。 只有通过这个镜像文件才能生

    2024年02月06日
    浏览(30)
  • Docker本地镜像发布到阿里云

    我们构建了自己的镜像后,可以发布到远程镜像提供给其他人使用,比如发布到阿里云 使用build/commit生成新的镜像,并生成自己镜像的版本标签tag,此新的镜像在自己的本地库中,使用push可以将镜像提交到阿里云公有库/私有库,使用pull从公有库/私有库中拉取镜像 1 编写D

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包