申威平台docker镜像仓库配置方法

1、使用软硬件环境说明

镜像仓库服务器:是指专门用于存放docker镜像仓库的计算机。

客户端:是指可以在镜像仓库服务器上下载,或往镜像仓库服务器上推送镜像的计算机,客户端主要用于启动并运行容器。

2、镜像仓库服务器配置

注意1:根据需要,存放镜像的目录或分区空间要预留足够的空间。

注意2:本文档测试仓库镜像服务器Ip为:10.3.2.211

注意3:需要在root用户下操作。

  1. 确认docker hub申威镜像仓库

仓库地址:https://hub.docker.com/u/leechm

补充:若想使用docker hub仓库,确认宿主机可以上外网。

2)确认本机docker环境

说明:中标麒麟服务器操作系统可提供Docker17.06.2.ce和docker 1.12.2两个版本,根据所需安装好docker后,这里我们以docker17.06.2 ce版为例,通过如下命令查看docker版本,确认docker安装成功,命令如下:

[root@localhost ~]# docker -v

Docker version 17.06.2, build d12bd8cfe0

确认docker环境安装成功后,执行如下命令,启动docker服务:

[root@localhost ~]# systemctl start docker

设置docker服务为开机启动,执行如下命令:

[root@localhost ~]#systemctl enable docker

  1. 下载registry镜像

这里我们使用docker hub上的registry镜像

[root@localhost ~]# docker pull leechm/registry:2.7.2

2.7.2: Pulling from leechm/registry

Digest: sha256:95544a995c89bce33093161070b5116d232e5cbd40739a6d891f7bc2f3509b55

Status: Downloaded newer image for leechm/registry:2.7.2

4)查看本机镜像

[root@localhost ~]# docker images

REPOSITORY     TAG          IMAGE ID       CREATED       SIZE

leechm/registry     2.7.2          576a4d82f357    44 minutes ago      318MB

leechm/sw-hello-world  v1.0      284593b1c6b5        About an hour ago   851kB

leechm/k8sneokylin      v5.0    809e0a2bd6a6        2 weeks ago         283MB

5)运行registry镜像

[root@localhost ~]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always leechm/registry:2.7.2

补充:上传的镜像在宿主机/opt/registry目录下

6)查看正在运行的容器

[root@localhost ~]# docker ps

CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS   NAMES

3926794c7b9f   leechm/registry:2.7.2   "registry serve /e..."   34 seconds ago      Up 32 seconds       0.0.0.0:5000->5000/tcp   vibrant_lewin

7)确认仓库是否配置成功

[root@localhost ~]# curl 10.3.2.211:5000/v2/_catalog

{"repositories":[]}

3、客户端配置

注意1:需要在root用户下操作。

1)确认本机docker环境

说明:确认系统安装好docker后,通过如下命令查看docker版本,确认docker安装成功,命令如下:

[root@localhost ~]# docker -v

Docker version 17.06.2, build d12bd8cfe0

确认docker环境安装成功后,执行如下命令,启动docker服务:

[root@localhost ~]# systemctl start docker

设置docker服务为开机启动,执行如下命令:

[root@localhost ~]#systemctl enable docker

2)设置docker镜像仓库的URL地址

  • 配置URL

创建配置文件,命令如下:

[root@localhost ~]# mkdir /etc/docker

[root@localhost ~]# echo '{ "insecure-registries":["10.3.2.211:5000"] }' > /etc/docker/daemon.json

  • 重启docker服务使其设置生效

[root@localhost ~]#systemctl restart docker

  • 确认是否可以访问仓库

[root@localhost ~]# curl 10.3.2.211:5000/v2/_catalog

{"repositories":[]}

4、上传或下载镜像

1)上传镜像

  • 镜像重命名

镜像上传首先需要通过 docker tag 重命名镜像,使之符合仓库的要求,命名格式为:镜像仓库服务器IP地址:端口号/容器名:版本号,例如10.3.2.211:5000/sw-hello-world:v1.0。对现有镜像的重命名具体命令如下:

[root@localhost ~]# docker tag leechm/sw-hello-world:v1.0 10.3.2.211:5000/sw-hello-world:v1.0         #其中,leechm/sw-hello-world:v1.0是指镜像现有名称,10.3.2.211:5000/sw-hello-world:v1.0是新建的镜像名称。

  • 客户端上传镜像到仓库

[root@localhost ~]# docker push 10.3.2.211:5000/sw-hello-world:v1.0

The push refers to a repository [10.3.2.211:5000/sw-hello-world]

23db77eeb16d: Pushed

v1.0: digest: sha256:a56673a88d8afb977bba89faf53edc9ae2b949e299b368f5d12b5c8f6d3fad4c size: 527

  • 查看镜像仓库

[root@localhost ~]#  curl 10.3.2.211:5000/v2/_catalog

{"repositories":["sw-hello-world"]}

[root@localhost ~]# curl 10.3.2.211:5000/v2/sw-hello-world/tags/list

{"name":"sw-hello-world","tags":["v1.0"]}

2)下载镜像

说明:由于终端本地已有10.3.2.211:5000/sw-hello-world:v1.0镜像,因此,为了测试下载功能,首先需删除本地的该镜像。命令如下:

[root@localhost ~]#docker rmi 10.3.2.211:5000/sw-hello-world:v1.0

查看是否删除成功:

[root@localhost ~]# docker images

  • 下载镜像

    [root@localhost ~]# docker  pull 10.3.2.211:5000/sw-hello-world:v1.0

  • 查看镜像是否下载成功:

[root@localhost ~]# docker images

上一篇:「Python」纯干货,5000字的博文教你采集整站小说(附源码)


下一篇:no console to display at this time