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. AOP 技术原理——代理模式全面总结

    前言 非常重要的一个设计模式,也很常见,很多框架都有它的影子.定义就不多说了.两点: 1.为其它对象提供一个代理服务,间接控制对这个对象的访问,联想 Spring 事务机制,在合适的方法上加个 tra ...

  2. 第四百一十五节,python常用排序算法学习

    第四百一十五节,python常用排序算法学习 常用排序 名称 复杂度 说明 备注 冒泡排序Bubble Sort O(N*N) 将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮 ...

  3. windows 端口被占用,并杀死进程的方法

    netstat -ano | findstr 8081 查询端口 被什么进程占用 tasklist | findstr 2184 根据进程号 查询任务名称 taskkill /f /t /im jav ...

  4. Python sqlite3操作笔记

    创建数据库 def create_tables(dbname): conn = sqlite3.connect(dbname) print "Opened database successf ...

  5. [转]GREP for Windows

    http://www.interlog.com/~tcharron/grep.html A very flexible grep for windows GREP is a well known to ...

  6. 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误

    我调这个bug调了一天多,在网上搜索的检查namespace,package等,都没有错.错误提示是没有找到xml文件,我就纳闷了,为什么找不到呢?后来才发现,原来是resource中奇怪的目录为题, ...

  7. [LeetCode] Longest Substring Without Repeating Characters 最长无重复字符的子串

    Given a string, find the length of the longest substring without repeating characters. Example 1: In ...

  8. 2017-2018 ACM-ICPC Latin American Regional Programming Contest GYM101889

    挺有意思的一套题,题也没有啥毒瘤了,本来是队切的结果种种原因大家全挂机了. 只补了百人题,一共7个,其他的暂时先不补了,,也不会嘛qwq H:签到 #include <bits/stdc++.h ...

  9. css的小知识

    ---恢复内容开始--- 1.当你发现在制作页面时出现滚动条就需要一个去除滚动条的属性 overflow:hidden:           overflow-x:hidden:水平超出隐藏 2.  ...

  10. 2^n算法

    题目描述: 如题…… 那么,可以用c++自带快速幂:pow: #include<cstdio> using namespace std; int n; int main() { scanf ...