如果自己创建的镜像可以供其他同事使用,那就可以大大节约开发时间成本,docker的本地仓库正好可以满足这样的需求

1、在仓库服务器上创建本地仓库

baylor@baylor-virtual-machine:~$ docker run -d -p : --name registry registry:

2、在需要上传的服务器上先得到个镜像

baylor@baylor-virtual-machine:~$ docker pull busybox

3、为准备上传的镜像改个tag

baylor@baylor-virtual-machine:~$ docker tag busybox 192.168.133.165:/busybox

4、将本地的镜像推送到本地仓库服务器

baylor@baylor-virtual-machine:~$ docker push 192.168.133.165:/busybox

可能会遇到以下的错误信息:

FATA[] Error response from daemon: v1 ping attempt failed with error: Get https://192.168.133.165:5000/v1/_ping: local error: record overflow. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.133.165: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.133.165:5000/ca.crt 

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

解决方法为在docker的配置文件里添加--insecure-registry参数

baylor@baylor-virtual-machine:~$ cat /etc/default/docker
# Docker Upstart and SysVinit configuration file # Customize location of Docker binary (especially for development testing).
#DOCKER="/usr/local/bin/docker" # Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" # If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/" # This is also a handy place to tweak where Docker's temporary files go.
#export TMPDIR="/mnt/bigdrive/docker-tmp"
DOCKER_OPTS="--insecure-registry 192.168.133.165:5000" 《-------在这里

5、重启docker后再次推送

baylor@baylor-virtual-machine:~$ sudo service docker restart

6、到另外一台机器上去拉镜像(如果也有证书问题,说明也要需要在/etc/default/docker的配置文件里添加registry参数的)

baylor@baylor-virtual-machine:~$ docker pull 192.168.133.165:/busybox

7、注意:

因为本地仓库也是一个容器,那么当这个窗口被误删除时,它里面的镜像也会随之删除。所以在创建这个容器的时候最好使用-v参数将数据持久化

我创建的本地仓库存放其它镜像的地址是/var/lib/registry/docker/registry/v2/repositories/,各位在使用的时候情况可能有所不同

baylor@baylor-virtual-machine:~$ sudo docker run -d -p : -v /opt/data/registry:/var/lib/registry/docker/registry/v2/repositories/ --name registry

[docker]本地仓库的创建的使用的更多相关文章

  1. docker 私有仓库的创建

    1, 下载registry镜像 sudo docker pull registry 2, 启动镜像 docker run -d --name registry -h registry -p 5000: ...

  2. docker本地仓库&镜像

    镜像的命名规则: 1.[冷数据]/[base镜像]例如:ansible,centos 2. lastest{最新的意思}  不是真的(随便命名) 3. [image name]=[repository ...

  3. k8s环境部署.net core web项目(docker本地仓库)

    在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新. ...

  4. 搭建docker本地仓库

    如果没有创建docker环境的话,需要先安装docker环境. 1. 使用命令创建容器 docker run -d -p 8081:8080 atcol/docker-registry-ui 8081 ...

  5. docker推送镜像到docker本地仓库报错:http: server gave HTTP response to HTTPS client

    因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误. 解决办法: vim / ...

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

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

  7. Git详细教程之创建本地仓库和连接Github仓库

    首先要知道不只有代码,任何类型的文件都可以进行版本控制,版本控制很重要的一个特性就是你可以随时修改,比如git会记录你的任何操作,如果你想要回退到任何一个历史操作,你可以通过git轻松达到. 本地仓库 ...

  8. eclipse创建git本地仓库,并将本地仓库更新到远端git服务器

    目的:将本地代码更新到远端服务器 1.点击eclipsewindows->preference->team->git->Configuration配置git的基础环境 2.点击 ...

  9. Docker自建本地仓库

    1.安装docker yum install docker -y 之后根据需求把指定docker安装目录,或者新建一个磁盘使用docker-storage-setup来使用 2.设置第三方docker ...

随机推荐

  1. Android 杂记

    Android Studio 报错:sdk location should not contain whitespace as this can cause problems with the ndk ...

  2. Linux多网卡的时候执行机器Ip

    在Linux部署的时候,经常会有多网卡的情况出现,这时候项目又需要指定Ip.在这种情况下,要配置linux机子的host,指定里头要使用的ip地址,否则linux机子不知道去找哪个ip. 一.查看本机 ...

  3. The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly

    The type javax.xml.rpc.ServiceException cannot be resolved.It is indirectly 博客分类: 解决方案_Java   问题描述:T ...

  4. form表单中name和id区别

    HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链接等.HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需的信息,而主 ...

  5. Indy10收发Hotmail邮件

    hotmail开放了pop3,可以使用客户端工具收取邮件了. POP 服务器: pop3.live.com (端口 995)需要 POP SSL?: 是的用户名: Windows Live ID, 比 ...

  6. Memcached数据存储方式

    1. memcached的数据存储方式被称为Slab Allocator,其基本方式是: ①:先把内存分成很多Slab,这个大小是预先规定好的,已解决内存碎片的问题.分配给Slab的内存空间被称为Pa ...

  7. org.apache.hadoop.security.AccessControlException: Permissiondenied: user=liuyingping, access=WRITE,inode="/user/root/output":root:supergroup:drwxr-xr-x

    原因: 权限问题.用户liuyingping没有访问hdfs下文件的权限. 参考:HDFS客户端的权限错误:Permission denied 解决方案(推荐): 在系统的环境变量添加HADOOP_U ...

  8. Ajax 请求session过期的统一处理

    public class LoginInterceptor extends HandlerInterceptorAdapter { @SuppressWarnings("unused&quo ...

  9. ubuntu安装composer

    1.下载composer.phar wget https://getcomposer.org/composer.phar 2.重命名composer.phar为composer mv composer ...

  10. Oracle redo与undo

    Undo and redo Oracle最重要的两部分数据,undo 与redo,redo(重做信息)是oracle在线(或归档)重做日志文件中记录的信息,可以利用redo重放事务信息,undo(撤销 ...