docker三种仓库的基础管理
一、docker hub官方镜像推送和拉取示例
1.到docker hub官方注册账号
https://hub.docker.com/
2.登录官方
docker login -u 用户名
[root@elk92 ~]# docker login -u dezyan
Password:
3.在docker hub的webUI创建仓库


4.推送本地镜像至官方
[root@elk92 ~]# docker tag gametest:v1.0 dezyan/gametest
[root@elk92 ~]# docker push dezyan/gametest:busybox
5.webUI查看

6.本地拉取上传到官方的镜像
[root@elk92 ~]# docker pull dezyan/gametest:gametest
7.退出登录
[root@elk92 ~]# docker logout
二、阿里云第三方镜像仓库管理
1.新建仓库
访问阿里云: https://www.aliyun.com/
在首页-产品-搜索-容器-容器镜像服务-管理控制台-创建实例
2.创建命名空间、镜像仓库
配置名称、是否公开等信息
3.命令行登录阿里云账号
[root@elk91 ~]# docker login --username=Dezyan crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com
Password:
4.推送镜像到阿里云
$ docker login --username=Dezyan crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com
$ docker tag [ImageId] crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com/dezyan/test:[镜像版本号]
$ docker push crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com/dezyan/test:[镜像版本号]
5.从阿里云拉取镜像
$ docker pull crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com/dezyan/test:[镜像版本号]
6.删除阿里云镜像
选定仓库,在镜像版本中删除即可
7.退出登录
[root@elk91 ~]# docker logout crpi-vdztp5takbojsq12.cn-beijing.personal.cr.aliyuncs.com
三、harbor私有仓库搭建与管理
1.下载、解压
[root@elk93 ~]# wget https://github.com/goharbor/harbor/releases/download/v2.12.2/harbor-offline-installer-v2.12.2.tgz
[root@elk93 ~]# tar xf harbor-offline-installer-v2.12.2.tgz -C /usr/local/
2.编辑配置文件
[root@elk93 ~]# cp /usr/local/harbor/harbor.yml{.tmpl,}
[root@elk93 ~]# vim /usr/local/harbor/harbor.yml
...
#更改主机
hostname: 10.0.0.93
...
#禁用https功能
## https related config
#https:
# # https port for harbor, default is 443
# port: 443
# # The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path
# # enable strong ssl ciphers (default: false)
# # strong_ssl_ciphers: false
...
#设置harbor登录密码
harbor_admin_password: 1
...
#设置harbor数据存储路径
data_volume: /oldboyedu/data/harbor
...
3.安装harbor
[root@elk93 ~]# /usr/local/harbor/install.sh
4.访问harbor的webUI
http://10.0.0.93/harbor/projects
用户名admin
密码1
5.新建项目test

6.推送本地镜像到harbor仓库
[root@elk92 ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["10.0.0.92:5000","10.0.0.93"]
}
[root@elk92 ~]#
[root@elk92 ~]# systemctl restart docker.service
[root@elk92 ~]#
[root@elk92 ~]# docker info | grep "Insecure Registries" -A 2
Insecure Registries:
10.0.0.92:5000
10.0.0.93
#给本地镜像打标签
root@ding:~# docker tag dezyangame:v3.1 10.0.0.94/test/dezyangame:v10.0
#也可使用docker login -u admin -p 1 10.0.0.93不采用交互
root@ding:~# docker login 10.0.0.94
admin
1
如果不使用交互容易泄露密码
[root@elk92 ~]# cat /root/.docker/config.json;echo
{
"auths": {
"10.0.0.93": {
"auth": "YWRtaW46MQ=="
}
}
}
echo YWRtaW46MQ== | base64 -d ;echo
#推送本地镜像
docker push 10.0.0.94/test/dezyangame:v10.0
注意此处打的标签名要与服务器以及harbor创建的项目名完全一致,否则会推送失败
即:/服务器IP/harbor项目名/本地镜像信息
7.推送完成后一定要退出
root@ding:~# docker logout 10.0.0.93
Removing login credentials for 10.0.0.93
8.从harbor拉取镜像
[root@elk91 ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["10.0.0.92:5000","10.0.0.93"]
}
[root@elk91 ~]#
[root@elk91 ~]# systemctl restart docker.service
root@elk91:~# docker login 10.0.0.94
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@elk91 ~]# docker pull 10.0.0.94/test/dezyangame:v10.0
9.移除镜像

本文来自博客园,作者:丁志岩,转载请注明原文链接:https://www.cnblogs.com/dezyan/p/18792410

浙公网安备 33010602011771号