docker以distribution和registry管理个人镜像仓库

目录

一.distribution

1.扩展源下载docker-distribution并启动

2.打标签并认证安全仓库

3.推送到私人仓库

4.拉取镜像

二.registry

1.拉取registry的镜像

2.运行容器并打标签

3.认证安全仓库

4.推送到私人仓库

5.拉取镜像


一.distribution

1.扩展源下载docker-distribution并启动

复制代码
[root@localhost ~]# yum info docker-distribution

[root@localhost ~]# yum install -y docker-distribution.x86_64

[root@localhost ~]# systemctl start docker-distribution

[root@localhost ~]# cd /etc/docker-distribution/registry/

[root@localhost registry]# cat config.yml 
version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry  #默认的镜像存放大致路径
http:
    addr: :5000   #端口

2.打标签并认证安全仓库

复制代码
[root@localhost ~]# docker images
REPOSITORY                                           TAG         IMAGE ID       CREATED         SIZE
mysql                                                5.6         dd3b2a5dcb48   20 months ago   303MB
registry.cn-hangzhou.aliyuncs.com/su03/mycontainer   mysql_5.6   dd3b2a5dcb48   20 months ago   303MB
centos                                               latest      5d0da3dc9764   23 months ago   231MB
registry                                             2.6.2       10b45af23ff3   3 years ago     28.5MB
owncloud                                             latest      327bd201c5fb   4 years ago     618MB

[root@localhost ~]# docker tag centos:latest 192.168.2.190:5000/centos:latest

[root@localhost ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["192.168.2.190:5000"]
}

[root@localhost ~]# systemctl restart docker

3.推送到私人仓库

复制代码
[root@localhost ~]# docker push 192.168.2.190:5000/centos:latest 
The push refers to repository [192.168.2.190:5000/centos]
74ddd0ec08fa: Pushed 
latest: digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc size: 529

[root@localhost ~]# ll /var/lib/registry/docker/registry/v2/repositories
total 0
drwxr-xr-x 5 root root 55 Aug 25 17:30 centos

4.拉取镜像

复制代码
[root@localhost ~]# docker pull 192.168.2.190:5000/centos:latest 
latest: Pulling from centos
Digest: sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc
Status: Image is up to date for 192.168.2.190:5000/centos:latest
192.168.2.190:5000/centos:latest

[root@localhost ~]# docker images
REPOSITORY                                           TAG         IMAGE ID       CREATED         SIZE
mysql                                                5.6         dd3b2a5dcb48   20 months ago   303MB
registry.cn-hangzhou.aliyuncs.com/su03/mycontainer   mysql_5.6   dd3b2a5dcb48   20 months ago   303MB
192.168.2.190:5000/centos                            latest      5d0da3dc9764   23 months ago   231MB
centos                                               latest      5d0da3dc9764   23 months ago   231MB
registry                                             2.6.2       10b45af23ff3   3 years ago     28.5MB
owncloud                                             latest      327bd201c5fb   4 years ago     618MB

二.registry

1.拉取registry的镜像

复制代码
[root@localhost ~]# systemctl stop docker-distribution.service 

[root@localhost ~]# docker pull registry:2.6.2

2.运行容器并打标签

-v指定把镜像存储到宿主机的/registry目录下

复制代码
[root@localhost ~]# docker run -itd --name myregistry -p 5000:5000 -v /registry:/var/lib/registry registry:2.6.2 
a2ddb1f22601398d13dcfcc2f6e495883d5b9cf52fce690eefbe8d0cfc787fd0

[root@localhost ~]# docker tag nginx:latest 192.168.2.190:5000/nginx:latest

3.认证安全仓库

复制代码
[root@localhost ~]# vim /etc/docker/daemon.json 
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["192.168.2.190:5000"]
}

[root@localhost ~]# systemctl restart docker

4.推送到私人仓库

复制代码
[root@localhost ~]# docker push 192.168.2.190:5000/nginx:latest 
The push refers to repository [192.168.2.190:5000/nginx]
563c64030925: Pushed 
6fb960878295: Pushed 
e161c3f476b5: Pushed 
8a7e12012e6f: Pushed 
d0a62f56ef41: Pushed 
4713cb24eeff: Pushed 
511780f88f80: Pushed 
latest: digest: sha256:48a84a0728cab8ac558f48796f901f6d31d287101bc8b317683678125e0d2d35 size: 1778

[root@localhost ~]# ll /registry/docker/registry/v2/repositories/
total 0
drwxr-xr-x 5 root root 55 Aug 25 18:09 nginx

5.拉取镜像

复制代码
[root@localhost ~]# docker pull 192.168.2.190:5000/nginx:latest 
latest: Pulling from nginx
Digest: sha256:48a84a0728cab8ac558f48796f901f6d31d287101bc8b317683678125e0d2d35
Status: Image is up to date for 192.168.2.190:5000/nginx:latest
192.168.2.190:5000/nginx:latest

[root@localhost ~]# docker images
REPOSITORY                                           TAG         IMAGE ID       CREATED         SIZE
192.168.2.190:5000/nginx                             latest      eea7b3dcba7e   9 days ago      187MB
nginx                                                latest      eea7b3dcba7e   9 days ago      187MB
mysql                                                5.6         dd3b2a5dcb48   20 months ago   303MB
registry.cn-hangzhou.aliyuncs.com/su03/mycontainer   mysql_5.6   dd3b2a5dcb48   20 months ago   303MB
192.168.2.190:5000/centos                            latest      5d0da3dc9764   23 months ago   231MB
centos                                               latest      5d0da3dc9764   23 months ago   231MB
registry                                             2.6.2       10b45af23ff3   3 years ago     28.5MB
owncloud                                             latest      327bd201c5fb   4 years ago     618MB
相关推荐
moongoblin几秒前
行业赋能篇-2-能源行业安全运维升级
运维·安全·协作
极简网络科技27 分钟前
Docker、Wsl 打包迁移环境
运维·docker·容器
黑客老李32 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
杨浦老苏33 分钟前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘36 分钟前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
一加一等于二1 小时前
docker部署postgresql17,并且安装插件
docker·postgresql
RussellFans2 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
猴哥聊项目管理2 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
Chuncheng's blog2 小时前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
猫咪老师19952 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器