红联Linux门户
Linux帮助

Docker私有仓库详细搭建步骤

发布时间:2015-10-05 15:31:36来源:linux网站作者:joosonmao

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


实验环境:

实体机: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

成功!


CoreOS环境下通过register镜像搭建私有仓库:http://www.linuxdiyf.com/linux/12488.html

搭建自己的Docker私有仓库服务:http://www.linuxdiyf.com/linux/2332.html

局域网部署Docker-从无到有创建自己的Docker私有仓库:http://www.linuxdiyf.com/linux/2331.html