docker版本为:Server Version: 1.12.6

从dockerhub上下载最新的registry镜像。

首先、构建registry

1、下载registry镜像

  docker pull registry:latest

2、运行registry容器

  在运行容器之前先进行权限配置

    mkdir /home/registry/auth/

    docker run --entrypoint htpasswd registry:latest -Bbn username password>> /home/registry/auth/htpasswd

  以上的命令是创建用户名为 username 密码为 password 的配置文件

  启动容器

  docker run -d -p 5000:5000 --restart=always -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /home/registry/auth/:/auth -v /home/registry/:/var/lib/registry/ registry:latest

3、登陆registry

  docker login IP:5000

  Username: username

  Password: password
Error response from daemon: Get https://IP:5000/v1/users/: http: server gave HTTP response to HTTPS client

  此时提示错误,经过多番查找资料,有以下几种方法解决此问题

  1》在/etc/sysconfig/docker文件中添加一下配置:

    ADD_REGISTRY='--insecure-registry IP:5000'
  为了配置简单,省去安全相关的配置,这里使用--insecure-registry选项。
  修改配置文件后,一定要重启docker服务才能生效,所以执行命令:
  service docker restart

  但是,执行此命令之后docker deamon迟迟无法启动成功,而且还报错。

  所以,继续查找其他解决办法。

  2》配置registry地址的方法:

  对CentOS和Ubuntu都适用的配置文件是
  /etc/docker/daemon.json 
  增加:
  { "insecure-registries":["IP:5000"] }
  修改配置文件后,需要重启docker。
  # service docker restart

  再次登陆registry。

  docker login IP:5000

  Username: username

  Password: password

  Login Succeeded

  之后对本地构建的仓库进行push和pull操作,完全正常。此方法验证无其他问题。

  此时查看docker info会发现最下方Insecure Registries:   多出一条信息

  ......

  ......

Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
IP:5000
127.0.0.0/8

  

4、执行 push  和 pull 操作

  1》需要将镜像重新命名:

    docker tag registry:latest IP:5000/registry:latest

  2》执行上传命令:

    docker push IP:5000/registry:latest

    删除重新tag的镜像后,进行下载。

  3》执行下载命令:

    docker pull IP:5000/registry:latest

5、通过浏览器查看是否上传成功

  http://IP:5000/v2/_catalog

  会返回json串  如:{"repositories":["csphere/csphere"]}

  查看已上传的镜像的 tags

  http://IP:5000/v2/csphere/csphere/tags/list

  {"name":"csphere/csphere","tags":["0.13.0"]}

其他报错的解决方式一览:

报错:
sza@bogon:~$ docker push 192.168.1.115:5000/busybox:1.0 
The push refers to a repository [192.168.1.115:5000/busybox]
unable to ping registry endpoint https://192.168.1.115:5000/v0/
v2 ping attempt failed with error: Get https://192.168.1.115:5000/v2/: EOF
v1 ping attempt failed with error: Get https://192.168.1.115:5000/v1/_ping: EOF

解决办法:
修改Docker配置文件
vim /etc/default/docker
增加以下一行
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=192.168.1.115:5000"
重启Docker
sudo service docker restart

如果还出现错误的话,说明需要进行如下步骤解决:
vi /lib/systemd/system/docker.service
要加EnvironmentFile=-/etc/sysconfig/docker和编辑ExecStart=/usr/bin/docker -d $other_args -H fd://

systemctl reload

如果报错:
sza@bogon:~$ docker info
An error occurred trying to connect: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.22/info: read unix @->/var/run/docker.sock: read: connection reset by peer
解决:
vim /etc/default/docker 
在该文件中添加如下内容:
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:5555" 
service docker restart

docker构建本地仓库后,无法登陆解决办法(CentOS/Ubuntu)的更多相关文章

  1. wamp中修改后mysq数据库l闪退无法登陆解决办法

    WampServer安装后密码是空的,   修改一般有三种方式:   一是通过phpMyAdmin直接修改:   二是使用WAMP的MySql控制台修改.     三是重置密码    第一种:   1 ...

  2. Docker 构建网络服务后本机不能访问

    Docker 构建网络服务后本机不能访问 起因 使用tornado构建了一个服务,测试都没有问题 使用docker构建镜像,使用docker run image_name启动服务 使用浏览器访问 12 ...

  3. 树莓派(Raspberry Pi 3)安装centos7后yum无法使用解决办法

    树莓派(Raspberry Pi 3)安装centos7后yum无法使用解决办法 人穷,闲鱼淘了个二手的树莓派3 英国版,无奈咱也不会用,很无奈~ 安装教程百度到的差不多都可以,找个格式正常的一步一步 ...

  4. [原]Jenkins(十二)---jenkins管理员用户无法登陆解决办法Access Denied

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  5. dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法

    dell r710 安装ubuntu 12.04 server 启动后进入initramfs解决办法 grub 启动菜单后加入 rootdelay=90, 如下:/boot/vmlinuz-2.6.3 ...

  6. 通过virtualbox最小化安装centos 6.3后无法上网解决办法

    通过virtualbox最小化安装centos 6.3后无法上网解决办法 1.设置virtualbox的网络连接方式,如下图使用桥接方式,桥接的网卡为宿主正在上网的网卡,现在我是通过无线来上网的,所以 ...

  7. win7 Host文件修改后无效的解决办法

    win7 Host文件修改后无效的解决办法 正常情况下hosts文件随时修改随时生效,如果出现修改后不生效的情况,首先确定文件是ascii编码,以windows格式为换行符,然后依次采用如下方法  1 ...

  8. Centos7从3.10升级内核到4.9后无法启动解决办法:mpt[23]sas驱动问题

    Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题 前言 这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题: 系统盘在板载sata口上是 ...

  9. 20190713_(转)IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法 (转)

    此文为转载; 原文链接地址: https://www.cnblogs.com/mrma/p/3529859.html ----------------------------------------- ...

随机推荐

  1. PHP正则提取或替换img标记属性

    <?php   /*PHP正则提取图片img标记中的任意属性*/ $str = '<center><img src="/uploads/images/20100516 ...

  2. OSPF进程号的意义及多进程OSPF

    OSPF进程号的意义及多进程OSPF—吴锦霖分享    1. OSPF进程号的概念 在配置OSPF时,我们采用的是router ospf命令,在该命令后面需要加上这个OSPF进程的进程号(Proces ...

  3. MySQL中TEXT与BLOB字段类型的区别

    这篇文章主要介绍了MySQL中TEXT与BLOB字段类型的区别,本文总结了6大区别,需要的朋友可以参考下   在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程 ...

  4. Linux 环境变量_006

    ***Linux 环境变量指系统运行程序或命令的能快速找到其位置等其它功能,不用输入复杂命令.以$PATH环境变量为例子, $PATH决定了shell指定寻找命令或程序的路径,比较执行ls命令,如果没 ...

  5. 通过Application配置全局的Context

    我本来配置了全局变量,但是使用SharedPreferences时总是报空指针异常,报错如下: FATAL EXCEPTION: main Process: com.XXX.xxx, PID: 192 ...

  6. Java开发面试题整理(2019春招)

    一.Java基础部分 1. HashMap和Hashtable各有什么特点,它们有什么区别?(必背题,超级重要) HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们 ...

  7. MySQL命令学习

    上面两篇博客讲了MySQL的安装.登录,密码重置,为接下来的MySQL命令学习做好了准备,现在开启MySQL命令学习之旅吧. 首先打开CMD,输入命令:mysql -u root -p  登录MySQ ...

  8. eclipse.ini 修改默认编码为 UTF-8

    eclipse.ini 修改默认编码为 UTF-8 打开您的eclipse安装目录,找到eclipse.ini文件 打开eclipse.ini文件,在最下面加入一行代码:-Dfile.encoding ...

  9. TimeUnit类中的sleep() 和Thread.sleep()

    TimeUnit是什么? TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段 ...

  10. Codeforces Round 504

    (交互题真神奇,,,我自己瞎写了一发目测样例都没过去就AC了...) (只出了两题的竟然没掉下蓝名真是可怕) A:我的代码太不美观了,放个同学的(因为我是c++63分的蒟蒻所以根本不知道那些函数怎么用 ...