文章目录
看这里:
戳此链接 通往 关于 Docker 所有的学习文章 !
前言:
docker镜像仓库,顾名思义 是存放镜像的,你可以创建自己的镜像仓库,来存放自己定义好的镜像,方便以后再 pull 下镜像!
当你要 push 镜像到 镜像仓库的时候,你需要 使用 docker login 来登录镜像仓库!当然 退出登录的话就是:docker logout !
本章只讲 公网环境下的 docker 镜像仓库,当然也有局域网环境下的 Docker 镜像仓库:Harbor ,下一章讲:
1、登录 Docker Hub :
网不好慢炸了!!! 还是推荐国内阿里云的吧!
①、注册 或 登录 Docker Hub:
Docker Hub 地址: https://hub.docker.com/
有账号 —— sign in (登录)
无账号 —— 输入 用户名 + 密码 + 人机验证 + sign up (注册)
( 不想搞了,网慢炸了!!!)
转了n久的圈圈!心态崩了!
反正就是你注册以后,创建仓库啊等等这些,然后创建好以后,返回系统命令行,登录 docker hub !
root@zhengzelin:~# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:
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
# 上面提示你了,默认登录的就是 Docker Hub ;
找到以前的图了,将就用吧,毕竟现在没法登录 docker hub!
②、创建储存库:
注意:你的仓库名 最好 和你这个仓库存放的镜像有关!
eg:加入你放的镜像是 ubuntu 各个版本的镜像,(ubuntu 16.04 、ubuntu 18.04…); 你的仓库名就可以叫 : ubuntuOS
(我这里是放 nginx 的镜像,所以就叫 nginx 了!)
③、开始上传镜像:
前面说的 已经登陆了 docker hub 了 ! 使用 docker login 登陆 (退出:docker logout)
1、查看你的镜像 docker images (选择好你要上传的镜像)
root@zhengzelin:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 12 days ago 127MB
2、规范语法:
规范要求格式: docker tag (镜像名 或 镜像ID) [docker Hub 用户名/仓库镜像名:标签]
eg:
root@zhengzelin:~# docker tag nginx nihaodockerworld/nginx:v1
或
root@zhengzelin:~# docker tag ed21b7a8aee9 nihaodockerworld/nginx:v1
开始上传:
[root@docker ~]$ docker push nihaodockerworld/nginx:v1
查看:
④、下载镜像:
格式 : docker pull [docker hub 用户名/下载的镜像名:标签]
[root@docker ~]$ docker pull nihaodockerworld/nginx:latest
[root@docker ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nihaodockerworld/nginx latest 27a188018e18 2 weeks ago 109MB
2、使用 国内阿里云 镜像仓库:
①、开通 容器镜像服务:
地址: https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
点击前往开通,开通之后:
②、创建本地 镜像仓库:
③、查看你的 仓库地址:
将鼠标放在仓库地址下面那个 “下载图标” 上即可!点开以后 点击那个地址可以直接复制下来!
④、管理你的仓库:
里面教你如何登陆 你的 阿里云镜像仓库 ,以及如何进行 push iamge,pull image !
⑤、设置登录凭证:
⑥、登陆 阿里云 Docker Repository
# 具体的命令 ,上面那个管理里面有!
root@zhengzelin:~# docker login --username=刘佳莉是猪 registry.cn-hangzhou.aliyuncs.com
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
⑦、在 阿里云 Docker Repository 中上传下载镜像:
先下载镜像,这里下载镜像的地址并不是你的镜像仓库,而是默认的 docker hub 仓库,除非你设置了使用其他镜像仓库!
本人建议还是使用 国内阿里云的 镜像加速器,下载镜像的骄话直接在阿里云上下载就好;速度快、方便又安全!Docker hub 网慢的话实在是太慢太卡了!
如果你不会 配置国内阿里 或 网易 镜像加速器: 请点我去学习如何配置!提高效率!
1、查看本地镜像:
root@zhengzelin:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 12 days ago 127MB
mysql latest 9228ee8bac7a 12 days ago 547MB
2、给阿里镜像仓库上传镜像:
1、规范标签:(与你的镜像仓库名一致!区分镜像是靠tag,所以记得打好tag!)
格式: docker tag imageID registry地址(是你自己的,你不知道地址格式的话上面有如何查看)
eg:
root@zhengzelin:~# docker tag 9228ee8bac7a registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
root@zhengzelin:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 12 days ago 127MB
registry.cn-hangzhou.aliyuncs.com/zhengzelin/test v1 9228ee8bac7a 12 days ago 547MB
mysql latest 9228ee8bac7a 12 days ago 547MB
# 发现已经生成了一个新的名字的 镜像!上传该镜像即可!
2、开始上传:
root@zhengzelin:~# docker push registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/zhengzelin/test]
e1d0e0aeeac6: Preparing
e1d0e0aeeac6: Pushed
e61fc95905e3: Pushed
b10e17c4e958: Pushed
7bb6a75aad66: Pushed
1a945d224d74: Pushed
a1452fb52f96: Pushed
b63d6049d8d7: Pushed
c08e063406bc: Pushed
f36486186489: Pushed
3aa6919958ae: Pushed
c3a984abe8a8: Pushed
v1: digest: sha256:fc84f426da06035a0de61789b4241db47db006efdc356286b5e28f4ce4bd38e3 size: 2828
3、在 阿里云上面查看上传的镜像:
发现存在, oj*k!
5、删除本地镜像,从阿里云镜像仓库往下拖镜像:
root@zhengzelin:~# docker rmi registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
root@zhengzelin:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 12 days ago 127MB
# 删除成功,开始从 阿里image repository pull 镜像!
格式: docker pull registry地址/命名空间/仓库名称:tag
root@zhengzelin:~# docker pull registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
v1: Pulling from zhengzelin/test
c499e6d256d6: Already exists
22c4cdf4ea75: Pull complete
6ff5091a5a30: Pull complete
2fd3d1af9403: Pull complete
0d9d26127d1d: Pull complete
54a67d4e7579: Pull complete
fe989230d866: Pull complete
3a808704d40c: Pull complete
826517d07519: Pull complete
69cd125db928: Pull complete
b5c43b8c2879: Pull complete
1811572b5ea5: Pull complete
Digest: sha256:fc84f426da06035a0de61789b4241db47db006efdc356286b5e28f4ce4bd38e3
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
registry.cn-hangzhou.aliyuncs.com/zhengzelin/test:v1
查看本地镜像:
root@zhengzelin:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ed21b7a8aee9 12 days ago 127MB
registry.cn-hangzhou.aliyuncs.com/zhengzelin/test v1 9228ee8bac7a 12 days ago 547MB
大功告成!ojbk!