Docker入门-搭建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将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/_catlog

如果可以看到{"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.1.1:5000这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。

可以用下面方式解决

对于使用systemd的系统,请在/etc/docker/daemon.json中写入如下内容(如果文件不存在请新建该文件)

{
    "registry-mirror":[
        "http://hub-mirror.c.163.com"
    ],
    "insecure-registries":[
        "192.168.1.1:5000"
    ]
}

原文地址:https://blog.51cto.com/flowstone/2430303

时间: 2024-10-06 00:31:03

Docker入门-搭建docker私有仓库的相关文章

Docker基础-搭建本地私有仓库

1.使用registry镜像创建私有仓库 安装Docker后,可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境: docker run -d -p 5000:5000 registry 这条命令将自动下载并启动一个registry容器,创建本地的私有仓库服务.默认会将仓库创建在容器的/tmp/registry目录下.可以通过-v参数来将镜像文件存放在本地指定路径 例如:将上传的镜像放到/opt/data/registry目录: docker run -d -p 5000:50

docker使用registry搭建本地私有仓库

参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 接下来我们就大致说一下如何在本地搭建

Docker容器学习梳理--私有仓库Registry使用

但有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.使用私有仓库有许多优点: 1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1.Registry v2使用Go语言编写

Docker学习笔记六:Docker搭建企业级私有仓库

前言 Docker不仅是一个强大的服务器部署工具,而且它还有一个官方的Docker Hub registry用于储存Docker镜像.上传镜像到Docker Hub是免费的,上传的镜像文件同时也对公共领域开放,而这可能不是我们想要的. 本文介绍如何配置一个私有的Docker registry,在此上传的镜像是私密的,你可以从另一个联网的主机以安全的方式下载此registry上的镜像. 本文仅介绍registry的创建,而不讨论应用的容器化.有关Docker镜像创建的操作可参考这篇Docker入门

docker 搭建本地私有仓库

1.使用registry镜像创建私有仓库 安装docker后,可以通过官方提供的 registry 镜像来简单搭建一套本地私有仓库环境: docker run -d -p 5000:5000 registry:2 这将自动下载并启动一个 registry 容器,创建本地的私有仓库服务. 默认情况下,仓库会被创建在容器的 /var/lib/registry 目录下.可以通过 -v 参数来将镜像文件存放在本地的指定路径.例如下面的例子将上传的镜像放到 /opt/data/registry 目录: d

docker搭建了私有仓库,却从谷歌下载镜像的问题???

为kubelet添加一个额外的参数 // 这样kubelet就不会在启动pod的时候去墙外的k8s仓库拉取pause-amd64:3.0镜像了 KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest" 或者 1.首先把加速器地址改为阿里云的 vim /etc/docker/daemon.json "re

Docker搭建本地私有仓库

安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制的Docker image便成了刚需.Docker Registry一如既往的继承了"Docker坑多"的特点,为此这里将自己搭建"各类"Registry过程中执行的步骤.遇到的问题记录下来,为己备忘,为他参考. Docker在2015年推出了distribution项

docker 创建和使用私有仓库

通过官方的registry镜像来简单搭建一套本地私有仓库环境: docker run -d -p 5000:5000 registry 上述命令执行完成之后,会自动下载一个registry容器,创建本地的私有仓库服务. 默认情况下,会将仓库创建在容器的/tmp/registry目录下,可以通过-v参数来将镜像文件存放在本地的指定路径上. docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry 将上传的镜像放到

docker 建立自己的私有仓库

环境: centos7.1 网络:192.168.10.100 一.首先pull下来仓库镜像 默认情况下,仓库会被创建在容器的/tmp/registry目录下,但是可以通过-v参数来将镜像文件存放在本地的指定路径,例子是将上传的镜像放到/opt/data/registry 目录 docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry 查看运行的容器 docker ps -a 创建镜像链接或为基础镜像打个标签