docker-ce版本私有仓库搭建
2018-01-31 10:11:56
说明:本文中私有仓库的ip地址为10.10.172.203:5000,操作系统为CentOS7.2;
服务端:10.10.172.203/24
第一步:
1,从Docker官方仓库里下载registry镜像
2、docker images命令查看本地镜像;
默认情况下,会将私有仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失。
所以一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,命令如下:
#docker run -d -it --restart always --name docker-hub -p 5000:5000 -v /docker-hub/registry:/var/lib/registry registry
由上可以看到,已经启动了一个容器,地址为:10.10.172.203:5000。
3、由于仓库与客户端的https问题,需要修改/usr/lib/systemd/system/docker.service文件,添加 ExecStart=/usr/bin/dockerd --registry-mirror=http://019a7061.m.daocloud.io --insecure-registry 10.10.172.203:5000
[root@docker ~]
# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https:
//docs
.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=
/usr/bin/dockerd
--storage-driver=devicemapper --storage-opt=dm.thinpooldev=
/dev/mapper/docker-thinpool
--storage-opt dm.use_deferred_removal=
true
--registry-mirror=http:
//019a7061
.m.daocloud.io --insecure-registry 10.10.172.203:5000
ExecReload=
/bin/kill
-s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=
yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
[root@docker ~]
#
或者
[root@docker ~]
# cat /etc/docker/daemon.json
{
"registry-mirrors"
: [
"http://df98fb04.m.daocloud.io"
],
"insecure-registries"
:[
"10.10.172.203:5000"
]
}
[root@docker ~]
#
重新加载docker服务
[root@docker ~]
# systemctl daemon-reload
[root@docker ~]
# systemctl restart docker
注:因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。
为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。
需要在docker的配置文件
/etc/sysconfig/docker
(ubuntu系统中的docker配置文件时
/etc/default/docker
)添加参数“--insecure-registry=10.10.172.203:5000”。
温馨提示:
这个是在客户机的docker配置文件里添加的(即上传镜像到私有仓库里或从私有仓库下载镜像的客户机)。
4、重新启动docker。(如果是在虚拟机中运行,重启一下虚拟机,要不然还是使用其他机器访问此仓库还是会有https的问题)
1
|
# systemctl restart docker
|
5、docker tag将镜像打tag,语法格式如下
docker tag <image_name> <registry_ip>:5000/<image_name>:<version>
|
1
|
|
1
2
3
4
5
|
[root@docker ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest d1fd7d86a825 3 weeks ago 33.3MB
10.10.172.203:5000 /centos7 latest ff426288ea90 3 weeks ago 207MB
centos latest ff426288ea90 3 weeks ago 207MB
|
6、镜像的上传与下载,语法格式如下
1
2
|
docker push <registry_ip>:5000/<image_name>:<version>;上传镜像至私有仓库
docker pull <registry_ip>:5000/<image_name>:<version>;从私有仓库pull镜像
|
1
|
# docker push 10.10.172.203:5000/centos7
|
1
2
3
4
5
|
[root@docker ~] # docker push 10.10.172.203:5000/centos7
The push refers to repository [10.10.172.203:5000 /centos7 ]
e15afa4858b6: Pushed
latest: digest: sha256:7e94d6055269edb455bcfb637292573117e4a8341e9b9abbc09b17d8aafe8fbe size: 529
[root@docker ~] #
|
7、使用curl 10.10.172.203:5000/v2/_catalog 查看仓库中的镜像情况
1
2
3
|
[root@docker ~] # curl 10.10.172.203:5000/v2/_catalog
{ "repositories" :[ "centos7" ]}
[root@docker ~] #
|
注意查看镜像方法(docker pull registry:2.1.1):
1
2
|
# curl -XGET http://registry_ip:5000/v2/_catalog
# curl -XGET http://registry_ip:5000/v2/image_name/tags/list
|
客户端下载私有仓库镜像:
配置docker信任私有仓库地址(http)
1
2
3
4
5
|
[root@localhost ~] # cat /etc/docker/daemon.json
{
"registry-mirrors" : [ "http://df98fb04.m.daocloud.io" ],
"insecure-registries" :[ "10.10.172.203:5000" ]
}
|
2.查看客户端本机镜像列表
1
2
3
|
[root@localhost ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest ff426288ea90 3 weeks ago 207MB
|
3.从私有仓库下载centos镜像
1
2
3
4
5
|
[root@localhost ~] # docker pull 10.10.172.203:5000/centos7
Using default tag: latest
latest: Pulling from centos7
Digest: sha256:7e94d6055269edb455bcfb637292573117e4a8341e9b9abbc09b17d8aafe8fbe
Status: Downloaded newer image for 10.10.172.203:5000 /centos7 :latest
|
4.再次查看客户端本机镜像列表
1
2
3
4
5
|
[root@localhost ~] # docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.10.172.203:5000 /centos7 latest ff426288ea90 3 weeks ago 207MB
centos latest ff426288ea90 3 weeks ago 207MB
[root@localhost ~] #
|
总结:使用企业内部私有镜像仓库中的镜像,大大节省了镜像下载的时间。
转载于:https://blog.51cto.com/douya/2134268
docker-ce版本私有仓库搭建相关推荐
- Docker的使用(四:Docker Registry本地私有仓库搭建知识点总结)
任务一: Docker Registry本地私有仓库搭建 1.启动Docker Registry: 2.重命名镜像: 3.推送镜像: 4.浏览器查看验证: 5.文件查看验证: 任务二:Docker R ...
- Docker Registry本地私有仓库搭建
相比Docker Hub而言,Docker Registry的功能就不够全面了,且需要自己手动配置.升级.维护和管理,所以说对于Docker镜像管理不太熟悉的人员推荐使用Docker Hub.如果开发 ...
- Centos7 Docker私有仓库搭建
Centos7 Docker私有仓库搭建 仓库:集中存放镜像的地方,可分为公共仓库和私有仓库 (公共仓库"http://hub.docker.com"或国内的"http: ...
- 【docker】Docker核心技术快速入门及私有仓库搭建
更多内容请点击 我的博客 查看,欢迎来访. 什么是Docker? 官方文档翻译 Docker 是基于Go语言实现的开源容器项目.利用操作系统本身已有的机制和特性,可以实现远超传统虚拟机的轻量级虚拟化. ...
- docker的私有仓库搭建、compose项目、swarm集群、一键部署docker节点
1.私有仓库搭建 首先需要一个registry 镜像 [root@foundation24 docker]# docker images registry REPOSITORY TAG IMAGE I ...
- Docker私有仓库搭建
文章目录 Docker私有仓库搭建 1.Docker Registry 2.Docker Private Registry 2.1 使用docker-distribution自建Registry 2. ...
- Docker 17.03系列教程(一)Docker EE/Docker CE简介与版本规划
为什么80%的码农都做不了架构师?>>> 近日,Docker发布了Docker 17.03.进入Docker 17时代后,Docker分成了两个版本:Docker EE和Doc ...
- (转) Docker EE/Docker CE简介与版本规划
随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 CE(Community Edition) 和 EE(Enterprise ...
- Docker私有仓库搭建与配置
docker pull registry docker run ‐di ‐‐name=registry ‐p 5000:5000 registry 此步用于让 docker信任私有仓库地址 打开浏览器 ...
最新文章
- 设置VMWARE通过桥接方式使用主机无线网卡上网
- 精密空调主要部件是干啥用的?
- linux kernel的spinlock代码导读和分析
- 使用 outlet 在SAP Spartacus 的页面添加自定义 HTML 元素的一个例子
- Python3 反转一个单链表
- jQuery 属性,css,文档操作
- _beginthreadex 一定要自己写 CloseHandle 可以不用 _endthreadex
- 数据库基础知识——数据库的相关概念
- 支付宝借呗利息万3和万2.5的,都是些什么大神级的人物?
- linux的工程管理器是,Linux工程管理器——make
- mysql的varchar 和text_MySQL中char、varchar和text的区别
- linux下 Tomcat 端口号修改
- markdown下载以及安装详情
- Java 图形用户界面编程
- 然后卸载干净matlab,安装与卸载
- 第三方软件产品采购分享
- 小乌龟克隆报错:git add not exit cleanly
- 整理控|四象限系列电脑桌面壁纸分享一波
- bpm java_bpm完全解读
- html5的download下载标签
热门文章
- php文件开放下载安全,php实现文件安全下载
- python中字典的value可以为任意对象_Python学习入门(13)—字典
- python单元测试框架-Python unittest单元测试框架总结
- 非常全面的Android Bitmap知识点梳理
- 图像处理:像素间的基本关系
- [SIGMOD 10] Pregel 基于BSP的大规模图处理系统 学习总结
- Codeforces 785 D.Anton and School - 2(组合数处理)
- 新建git仓库--留
- begin.lydsy 入门OJ题库:1101、1102:那些四位数、那些四位数之二
- Java线程池--ThreadPoolExecutor