docker repository使用方法

[TOC]

1.查看repository中的image

假设集群上docker 私有仓库做到了master节点,172.16.10.10:5000。

获取已有image

私有仓库目前已有images如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$curl http://172.16.10.10:5000/v2/_catalog|python2 -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 289 100 289 0 0 1125 0 --:--:-- --:--:-- --:--:-- 1128
{
"repositories": [
"centos",
"gitlab/gitlab-ce",
"gitlab/gitlab-runner",
"gitlab-runner",
"keras",
"mongo",
"nvidia/cuda",
"nvidia/digits",
"paddledev/paddle",
"paddlepaddle/book",
"paddlepaddle/paddle",
"redis",
"registry",
"superman/registry",
"ubuntu",
"yhu/centos",
"yhu/gitlab-runner",
"yhu/registry"
]
}

获取制定image的所有版本号

如果想要查看对应的images拥有哪些版本, 例如paddlepaddle/paddle 这个镜像的版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$curl http://172.16.10.10:5000/v2/paddlepaddle/paddle/tags/list|python2 -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 84 100 84 0 0 20771 0 --:--:-- --:--:-- --:--:-- 28000
{
"name": "paddlepaddle/paddle",
"tags": [
"latest",
"0.10.0",
"0.10.0-dev",
"0.10.0-gpu"
]
}

只需要修改中间对应的名字即可

2.上传和下载image

下面简单介绍一下如何从私有仓库下载和上传镜像。

找到对应的镜像和版本之后,执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$docker pull 172.16.10.10:5000/paddlepaddle/paddle:0.10.0  #下载images
...
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
python 2.7 26bddf7dbe1b 6 days ago 679MB
$docker tag python:2.7 172.16.10.10:5000/python:2.7
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
172.16.10.10:5000/python 2.7 26bddf7dbe1b 6 days ago 679MB
python 2.7 26bddf7dbe1b 6 days ago 679MB
$docker push 172.16.10.10:5000/python:2.7 #上传images
The push refers to a repository [172.16.10.10:5000/python]
c89798427b75: Pushed
...
18f9b4e2e1bc: Pushed
2.7: digest: sha256:d3ecae8689444b025ff6dfd0972d98e4c0f9e8b9ca5762f044447dfd654c1b53 size: 2011
[superman@node7 ~]$curl http://172.16.10.10:5000/v2/_catalog|python2 -m json.tool
{
"repositories": [
...
"python",
...
]
}