使用目前最新版Docker13.1搭建私有镜像仓库
安装Docker
安装最新版Docker sudo yum install -y docker
查看docker版本信息
$ sudo docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-63.git94f4240.el7.centos.x86_64
Go version: go1.9.4
Git commit: 94f4240/1.13.1
Built: Fri May 18 15:44:33 2018
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-63.git94f4240.el7.centos.x86_64
Go version: go1.9.4
Git commit: 94f4240/1.13.1
Built: Fri May 18 15:44:33 2018
OS/Arch: linux/amd64
Experimental: false
下载docker registry私有镜像
docker pull docker.io/registry
修改docker配置文件
修改配置文件 sudo vi /etc/sysconfig/docker
OPTIONS=’–selinux-enabled –log-driver=journald –signature-verification=false –insecure-registry 127.0.0.1:5000‘加粗地方是要加入的,是需要加入认证许可。
从容器中启动registry
- 创建本地文件目录:
sudo mkdir /usr/local/src/docker_image_repo
- 启动命令:
sudo docker run -d -p 5000:5000 --name registry-local -v /usr/local/src/docker_image_repo:/tmp/registry docker.io/registry
将容器的5000端口映射到本地机器的5000端口,将容器内的/tmp/registry
指向容器外部路径/usr/local/src/docker_image_repo
查看docker镜像并打标签
- 通过命令
sudo docker images
得到镜像列表
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
learn/ping latest f4c5a1866235 4 hours ago 140 MB
docker.io/hello-world latest e38bc07ac18e 2 months ago 1.85 kB
docker.io/registry latest d1fd7d86a825 5 months ago 33.3 MB
docker.io/learn/tutorial latest a7876479f1aa 5 years ago 128 MB
- 通过tag命令打标签
将镜像列表的docker.io/registry标记为127.0.0.1:5000/registry
docker tag docker.io/registry:latest 127.0.0.1:5000/registry
上传标签镜像到私有云
只能将tag标签设置为127.0.0.1:5000的镜像上传到私有镜像库,上传命令:
sudo docker push 127.0.0.1:5000/registry
查看私有镜像仓库列表
$ curl -XGET http://127.0.0.1:5000/v2/_catalog
{"repositories":["hello-world","learn/ping","registry"]}