Docker 使用指南 (二)—— 搭建本地仓库

版权声明:本文由田飞雨原创文章,转载请注明出处: 
文章原文链接:https://www.qcloud.com/community/article/94

来源:腾云阁 https://www.qcloud.com/community

去中央仓库下载镜像有时候非常的慢,所以 docker 本地仓库和 gitlab 类似,都是为了便于公司内部人员的使用。

一.本地安装

本次实验环境:腾讯云服务器 CentOS 6.7 x86_64

# yum install -y python-devel libevent-devel python-pip gcc xz-devel
# pip install docker-registry

也可以从 docker-registry 项目下载源码进行安装。

二.使用官方 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 start $(docker ps -l | grep registry | awk ‘{print $1}‘) #启动仓库
要在本地仓库上传镜像,首先需要标记一个镜像,以下标记 busybox ,由于 busybox 镜像比较小,没有的建议先下载:

# docker pull buxybox
# docker tag busybox 192.168.0.232:5000/busybox    # 对 buxybox 镜像进行标记
# docker images  #查看标记的镜像
# docker push 192.168.0.232:5000/busybox   #然后开始上传吧
2016/06/14 11:01:17 Error: Invalid registry endpoint https://192.168.0.232:5000/v1/: Get https://192.168.0.232:5000/v1/_ping: dial tcp 192.168.0.232:5000: connection refused. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.0.232:5000` to the daemon‘s arguments. In the case of HTTPS, if you have access to the registry‘s CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.0.232:5000/ca.crt

呵呵,报错了!因为Docker从1.3.X之后默认docker registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误。

为了解决这个问题需要在启动docker server时增加启动参数:

# vim /etc/sysconfig/docker     #ip 换为自己的ip
other_args="--insecure-registry 192.168.0.232:5000"  #默认为空的
# service docker  restart  #重启docker
# docker start $(docker ps -l | grep registry | awk ‘{print $1}‘)    #启动 registry
# docker push 192.168.0.232:5000/busybox  #然后重新上传吧,这次肯定成功
# curl  http://192.168.0.232:5000/v1/search  #查看上传的镜像
{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/busybox"}]}

注意: /v1 代表 registry 的版本,使用 docker pull 安装的默认为 v1 版本。

测试:

使用另一台机器 pull 本地的私有仓库,但是要在 private registry 上使用 SSL,另一种就是强制使用普通方式,仍然像上面一样,在配置文件中加上以下参数:

other_args="--insecure-registry 192.168.0.232:5000"

重启 docker 服务,然后 pull:

[[email protected] docker]# docker pull 192.168.0.232:5000/busybox
Pulling repository 192.168.0.232:5000/busybox
437595becdeb: Download complete
437595becdeb: Pulling image (latest) from 192.168.0.232:5000/busybox
Status: Image is up to date for 192.168.0.232:5000/busybox:latest

时间: 2024-08-24 16:52:11

Docker 使用指南 (二)—— 搭建本地仓库的相关文章

二十一、安装软件包的三种方法、RPM包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库

一.安装软件包的三种方法 rpm工具.yum工具.源码包 RPM工具:是以一种数据库记录的方式将需要的套件安装到Linux主机的一套管理程序.就是说,你的Linux系统中有一个关于RPM的数据库,它记录了安装的包以及包与包之间的依赖关系.RPM包是预先在Linux机器上编译并打包的文件,安装快捷.缺点:安装环境必须与编译时的环境一致或相当,包与包之间存在着相互依赖的情况,卸载包时需先把依赖的包卸载.若依赖的包是系统必需的,就不能卸载这个包,否则系统崩溃. yum工具:优势:可联网下载所需要的RP

docker搭建本地仓库并制作自己的镜像

原文地址https://blog.csdn.net/junmoxi/article/details/80004796 1. 搭建本地仓库1.1 下载仓库镜像1.2 启动仓库容器2. 在CentOS容器中安装JDK2.1 下载CentOS容器2.2 运行Linux容器:2.3 将JDK复制到myCentos容器中2.4 进入容器2.5 解压JDK2.6 配置环境变量2.6.1 刷新环境变量2.6.2 设置开机自动执行source2.6.3 重启容器2.7 将容器提交到镜像里3. 将新制作的镜像推送

7.1 安装软件包的三种方法7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法7.5 yum搭建本地仓库

- 7.1 安装软件包的三种方法 - 7.2 rpm包介绍 - 7.3 rpm工具用法 - 7.4 yum工具用法 - 7.5 yum搭建本地仓库 - 扩展 1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml 2. 搭建局域网yum源 http://ask.apelearn.com/question/7627 # 7.1 安装软件包的三种方法 - windows的.exe文件实际上是一种二

安装软件包的三种方法、rpm包介绍及工具用法、yum用法及搭建本地仓库

一.安装软件包的三种方法 rpm工具 rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷.但是有一个缺点:安装环境必须与编译时的一致或相当:包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装或卸载,如果依赖的包是系统所必须的,那就不能卸载这个包. yum工具 (类似于苹果手机里面的app store) yum

Linux CentOS7 VMware 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库

一.安装软件包的三种方法 Linux下游三种安装方法,rpm工具.yum工具.源码包.rpm按装一个程序包时,有可能因为该程序包依赖另一个程序包而无法安装:yum工具,可以连同依赖的程序包一起安装. 二.rpm包介绍 rpm包是预先在Linux上编译并打包的文件,安装快捷. 缺点:安装环境必须预编译环境一致或相当:当宝与包之间存在着相互依赖,则卸载时必须先把依赖包卸载. 如果依赖的包是系统必须的,就不能卸载这个包,否则系统会崩溃. 如果虚拟机光驱中还有系统安装盘镜像,就可以通过执行命令把光驱挂载

rpm包介绍 rpm/yun工具用法 yum搭建本地仓库

一.安装软件包的三种方法1.rpm工具,类似于windows系统下的.exe2.yum工具,安装最简单,可以自动安装依赖关系3.源码包,安装最复杂的安装方式 二.rpm包介绍在VMware workstion软件中点击右下角小光盘,点击可以连接到linux系统,进行挂载挂载光驱: #mount /dev/cdrom /mnt/ //将光驱挂载到/mnt/目录下mnt# cd Packages Packages# ls //Packages目录下有非常多的rpm包teamd-1.25-4.el7.

Maven搭建本地仓库

大数据交流群:494721467 Maven搭建本地仓库: 1.下载所需软件: Nexus-2 .9.0.war JDK1 1.6 apache-tomcat-9.0.0.M1.tar.gz 2.安装tomcat :tar -xzvf tar -xzvf apache-tomcat-9.0.0.M1.tar.后将它移到/soft/的目录下 3.移动nexus.war到${tomact_home}/webapps/即执行:mv nexus.war /soft/tomcat/webapps 4.启动

5周第1次课 安装软件包的三种方法 rpm包介绍 yum工具用法 yum搭建本地仓库

Linux 安装软件的三种方式 rpm 工具:此种安装方式即通过rpm 工具对介质上的rpm 包进行安装. yum 工具:核心依然是rpm,但不同的是它是基于网络的源,并会自动安装依赖组件. 源码包:源代码包,需要相应的编译器进行编译,然后才能安装.三种方式里最难的. 1.rpm 工具 rpm包的来源:光盘或其他地方拷贝本次实验,将Centos7虚拟光盘加载到虚拟机上 1.1 进入系统后执行挂载 [[email protected] ~]# mount /dev/cdrom /mntmount:

安装软件包的三种方法 rpm包介绍 rpm工具用法 yum工具用法 yum搭建本地仓库(

三种方法:rpm,yum,源码包 安装rpm包 [[email protected] Packages]# rpm -ivh zsh-5.0.2-7.el7.x86_64.rpm准备中... ################################# [100%]正在升级/安装... 1:zsh-5.0.2-7.el7 ################################# [100%] 升级rpm包 [[email protected] Packages]# rpm -Uv