搭建本地私有docker仓库

1、使用registry镜像创建私有仓库

 docker run -d -p 5000:5000   --restart=always --name registry registry:2

这条命令将自动下载并启动一个registry容器,创建本地的私有仓库

--restart=always:表示当docker服务重启时,registry也会自动启动

2、 从配置的公共registry地址下载ubuntu:16.04 镜像到本地

docker pull ubuntu:16.04

3、将镜像重新打一个tag

# docker tag ubuntu:16.04 localhost:5000/my-ubuntu
[[email protected] ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
localhost:5000/my-ubuntu   latest              5e8b97a2a082        7 days ago          114MB
ubuntu                     16.04               5e8b97a2a082        7 days ago          114MB

4、将镜像push到自己搭建的私有仓库中

# docker push localhost:5000/my-ubuntu
The push refers to repository [localhost:5000/my-ubuntu]
2de391e51d73: Pushed 
d73dd9e65295: Pushed 
686245e78935: Pushed 
d7ff1dc646ba: Pushed 
644879075e24: Pushed 
latest: digest: sha256:689aa49d87d325f951941d789f7f7c8fae3394490cbcf084144caddba9c1be12 size: 1357

5、删除本地缓存的ubuntu:16.04和localhost:5000/my-ubuntu 镜像,这不会删除私有仓库中的镜像。然后测试从私有仓库pull镜像。

# docker image remove ubuntu:16.04
# docker image remove localhost:5000/my-ubuntu

6、从本地私有仓库下载镜像

# docker pull localhost:5000/my-ubuntu
Using default tag: latest
latest: Pulling from my-ubuntu
b234f539f7a1: Pull complete 
55172d420b43: Pull complete 
5ba5bbeb6b91: Pull complete 
43ae2841ad7a: Pull complete 
f6c9c6de4190: Pull complete 
Digest: sha256:689aa49d87d325f951941d789f7f7c8fae3394490cbcf084144caddba9c1be12
Status: Downloaded newer image for localhost:5000/my-ubuntu:latest

7、stop 本地registry

# docker container stop registry

停止私有仓库的容器

docker container stop registry && docker container rm -v registry

停止容器并删除

8、自定义registry的端口,当5000端口被占用时,可以使用其他端口替代

# docker run -d -p 5001:5000 --name registry-test registry:2
29f769711de0c981abf7b2dff7e79297338e860abf01ec330d09036da8045a42
[[email protected] ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      506/rpcbind         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      73954/sshd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1197/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      960/zabbix_agentd   
tcp6       0      0 :::5001                 :::*                    LISTEN      111483/docker-proxy 
tcp6       0      0 :::111                  :::*                    LISTEN      506/rpcbind         
tcp6       0      0 :::21                   :::*                    LISTEN      953/vsftpd          
tcp6       0      0 :::22                   :::*                    LISTEN      73954/sshd          
tcp6       0      0 :::10050                :::*                    LISTEN      960/zabbix_agentd

-p后面第一个5001是docker服务器对外的端口,第二个5000是容器的端口。

9、如果想修改容器内的registry服务器监听的端口,可以使用下面的命令

docker run -d -e REGISTRY_HTTP_ADDR=0.0.0.0:5001 -p 5001:5001 --name registry-test registry:2

10、将自定义仓库中的镜像存储到主机上

默认情况下,我们上传到私有仓库中的镜像存储在容器的/var/lib/registry路径下,如果想将镜像保存到本地,可以在容器启动时,创建一个卷

docker run -d   -p 5000:5000   --restart=always   --name registry   -v /mnt/registry:/var/lib/registry   registry:2

这样重新上传的镜像也会保存在本地的/mnt/registry下

通过API来查询本地仓库镜像信息

# curl http://172.16.2.14:5000/v2/_catalog
{"repositories":["my-ubuntu"]}
#  curl http://172.16.2.14:5000/v2/my-ubuntu/tags/list
{"name":"my-ubuntu","tags":["latest"]}

原文地址:http://blog.51cto.com/zengestudy/2129031

时间: 2024-10-06 15:49:03

搭建本地私有docker仓库的相关文章

利用docker搭建本地私有镜像仓库

主机名 角色 sht-sgmhadoopnn-01 Docker Repository sht-sgmhadoopdn-01 Docker Client 原文地址:https://www.cnblogs.com/ilifeilong/p/11708183.html

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

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

搭建本地私有DNS服务器

目录 DNS配置参数介绍 配置NDS服务器 配置主从DNS服务器 子域DNS服务器 搭建DNS视图 一.DNS配置参数介绍 1.1 主配置文件/etc/named.conf options {...};               设定DNS服务器全局环境 listen-on port 53 {...;};    DNS服务named监听的端口和ip directory                    定义数据库文件存放的目录,即zone file的存放目录 dump-file/stati

搭建本地离线yum仓库

环境:VMware-Workstation-12-Pro,Windows-10,CentOS-7.5,Xshell5 前言 我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之.但是每次执行yum install xxx,会自动安装并且安装完毕后把rpm包自动删除.当我们下载比较大的服务,比如MySQL大约190M,每次都重新下载比较慢,这时我们就可以考虑,搭建本地离线yum仓库,大致需要如下几个步骤.

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本地私有镜像仓库

实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.168.134.151. Registry的IP地址是192.168.134.150. 使用setenforce 0临时关闭SElinux. 打开Server和Registry的内核转发功能 编辑配置文件/etc/sysctl.conf,添加下面的内容: net.ipv4.ip_forward = 1

docker 搭建本地私有仓库

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

Docker搭建本地私有仓库

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

搭建私有 Docker 仓库服务器

Docker Hub 是 Docker 官方的公共仓库服务器,用户在 DockerHub 上只能创建一个私有仓库,这对于有些用户是不够用的,而且 DockerHub 服务器的访问速度也是个很大问题,那么我们希望能在自己本地的服务器上创建一个类似于 DockerHub 仓库服务器供团队使用,这也是可以的. 我测试的环境是 Mac OSX 下,已经通过 Boot2Docker 工具安装好 Docker 的环境,通过 命令boot2docker ip 可以查看虚拟机的 IP 是 192.168.59.