Docker私有仓库详细搭建步骤

网上有很多了,但根据实际情况的不同,会有很多问题,经过一个星期的摸索,终于在我的实验环境下成功了,下面详细记录过程。

网上最好的教材:https://yeasy.gitbooks.io/docker_practice/content

实验环境:

实体机:windows 8

虚拟机:VM10

虚拟环境:Ubuntu15.04+Debian8.2 (查看系统版本用lsb_release -a  查看内核版本用uname -a)

系统安装:ubuntu下安装

                    安装docker

$ wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker;
$ echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc
                 安装运行docker-registry

                 

sudo docker run -d -p 5000:5000 registry  //首次会从hub docker下载

                  Debian下安装

                   先添加源

                   在/etc/apt/sources.list中添加

                  deb http://get.docker.io/ubuntu docker main

                  deb-src http://get.docker.io/ubuntu docker main

                  然后运行

                  apt-get update

                  apt-get install lxc-docker

概念理解:如果本地没有拉取过docker-registry,则首次运行会pull registry。我们的Docker客户端和服务器端的连接配置成http的,如果要安全考虑,需要https连接,需要安装ssl和生成证书,这里就不用。

详细步骤

1、在hub docker里搜索需要的images,eg

    docker search elasticsearch

2、pull想要的images

     docker pull elasticsearch

3、查看本地有的images

    docker images

4、为了不适用ssl,给配置文件加参数

     nano  /etc/default/docker

    DOCKER_OPTS="--insecure-registry localhost:5000"

    用service docker restart重启后

   用ps aux |grep docker查看这条参数有没有加上

5、如果没有运行regsitry,运行

    docker run -d -p 5000:5000 --restart:always --name registry [imageID]

   如果报错容器已经使用,则先删除registry容器

  docker rm registry (可能要强制删除加 -f)

6、push到registry之前先要tag

    例如:要将elasticsearch push到registry

    docker tag elasticsearch localhost:5000/elasticsearch

   docker push localhost:5000/elasticsearch

7、进入regsitry容器查看是否push成功

     

第一种: docker-enter <container> ls /tmp/registry/images
第二种:curl http://localhost:5000/v1/search
还有很多方法。

8、配置Debian

    同样在 \etc\default\docker文件里添加参数

   但问题来了,当用service docker restart重启服务,并用ps查看进程时,发现参数并没有加上,所以在debian上pull的时候缺省是用https,用systemctl status docker

  查看,发现启动文件有个是/lib/system/system/docker.service,在这个文件里修改

  ExeCStart=/usr/bin/docker -d -H fd:// --insecure-registry ubuntu:5000

  用systemctl restart docker就好了

9、在Debain上pull

    docker pull ubuntu:5000/elasticsearch

   成功!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值