docker官方仓库是docker hub。虽然很好用,但是无法满足私密性的要求。
如果只需要在局域网内或者朋友圈内分享各自制作的image,那么,搭建属于自己的docker仓库变得很有必要。
一、环境
我的host环境是debian jessie。
首先安装docker。
1、安装docker
# sudo apt-get update
# sudo apt-get install docker.io
2、制作一个docker镜像
a) sudo apt-get install debootstrap
b) sudo debootstrap Jessie ./jessie http://mirrors.163.com/jessie
c) cd ./jessie
d) tar -cf ../debian-jessie.tar .(后面这个点一定要打)
e) cd ..
f) cat ./debian-jessie.tar | sudo docker import – jessie
g) sudo docker run -i -t jessie /bin/bash(测试是否制作成功也可用docker images进行查看)
我选择了制作一个jessie镜像。docker hub上没有我要的,所以采用的方式是自己下载了导进去。
为什么要用jessie?可能仅仅是习惯,或者是喜欢的人也用jessie。*^-^*
二、搭建docker私人仓库
1、pull registry镜像
#sudo docker pull registry
完成后,docker images查看。OK,registry镜像已经在我们的列表里了。
2、运行registry镜像
#docker run -d -p 5000:5000 registry
//因为比较懒,所以楼主直接用root来run的。还是不建议这样做,建议使用sudo。
这句实际上将host的5000端口映射为私人registry的web端口。
此时访问http://127.0.0.1:5000,会看到
当然,这个页面是极其简陋的。你可以根据你自己的口味进行装饰。
三、使用做好的私人仓库
1、给你的image打标记
docker images查看你的镜像的ID。楼主选了一个大小最小的。
tag后面就是你要上传的image ID(这里可以只填前面几个字符)
127.0.0.1:5000就是我们的私人仓库所在地。
/debian/base是你给你要上传的镜像取的名字。/debian是类别,/base是版本名。
你也可以按照你的兴趣,取各种奇怪的名字。只要你看到名字能想起来这个镜像是什么。
2、上传打好标记的image
将标记为/debian/base的镜像上传到127.0.0.1:5000。
上传后,可使用http://127.0.0.1:5000/v1/search查看。
哈哈,依然简陋,不过信息都有了:这个registry上只有一个镜像,所以num_results是1。
这个镜像的名字就是我们起的/debian/base。
~~~~END~~~~