记录下 Docker私有库的简单建立,之所以说简单,主要是没有加入安全认证的方式。
环境:
- Ubuntu 16.04 LTS (A, B)
- Docker Version (17.03)
步骤:
1, 在每个机器上安装docker.
> apt-get install docker.io
2, 使用的是registry官方镜像进行创建和使用私有仓库。
在ServerA上:
> docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
此时, 在本地将启动一个私有仓库服务, 监听端口为5000。
3, 使用docker pull hello-world从Docker hub上pull下一个镜像便于测试。
docker pull hello-world
4, 建立私有库,
# docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
注: 默认情况下会将仓库创建在容器的/tmp/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径上。 (这个在后面没有找到镜像文件)
5, 给要push的image打tag
docker tag hello-world 192.168.255.97:5000/hello-new
6,push image到私有库
docker push 192.168.255.97:5000/hello-new
7, 这时,可能会出现一些错误,“什么用https访问http的问题” 导致push不成功。
这时因为docker的安全性要求用https,但是目前建立的私有库是http的。
因此进入 - vi /etc/default/docker 加入一行配置:
DOCKER_OPTS="--insecure-registry 192.168.255.97:5000"
8, 重启docker :
service docker restart
9, 在Server B的docker配置也进行如上配置再重启docker
10,在ServerB上测试:
> docker pull 192.168.255.97:5000/hello-new
11,成功。
12, 在ServerB上新建Image, (some-image)
> docker push 192.168.255.97:5000/some-image
13, 在ServerA上也可以pull 同一个私有registry中的image
> docker pull 192.168.255.97:5000/some-image
14, 成功!!
网友评论