Docker 阿里云镜像仓库CR使用小结
作者:ifanatic
一、使用容器镜像,查看镜像,创建,推送,拉取阿里云镜像
CR镜像管理(阿里云容器镜像服务(Container Registry))
登录实例
未创建的镜像名称也可以push、docker的私有仓库需要提起创建镜像名称,才能push
1、子账户
账户:阿里云账户全名
registry 密码:xxx
docker login --username=humx@genekang registry.cn-shenzhen.aliyuncs.com
2、主账户
获取临时密码或固定密码后,可通过密码登录镜像服务实例:
1)获取访问域名,基于当前的网络环境,选择对应的专有网络、公网或经典网络域名。
2)在终端中输入访问凭证,登录Registry实例
docker login --username=cloud@genekang.com registry.cn-shenzhen.aliyuncs.com 镜像密码:xxx Email: cloud@genekang.com WARNING: login credentials saved in /root/.docker/config.json
阿里云私有个人镜像
- 专有网络:registry-vpc.cn-shenzhen.aliyuncs.com
- 公网:registry.cn-shenzhen.aliyuncs.com
查看镜像 docker images
创建一个名为myubuntu的容器
docker run -ti --name myubuntu -d docker.io/ubuntu
查看容器 docker ps
docker commit :从容器创建一个新的镜像
-a :提交的镜像作者; -c :使用Dockerfile指令来创建镜像; -m :提交时的说明文字; -p :在commit时,将容器暂停。 docker commit -a 'humx' -m 'it is test' 0d0492fa24e2 myubuntu:v1
在mybuntu:v1镜像推送到docker hub仓库中去,这里使用阿里云的容器服务
首先: docker login --username=cloud@genekang.com registry.cn-shenzhen.aliyuncs.com
推送: docker push humx/myubuntu:v1
报错:
The push refers to a repository [docker.io/humx/myubuntu]
An image does not exist locally with the tag: docker.io/humx/myubuntu
改下镜像名字: docker tag a31c9c5a390d humx/myubuntu:v1
镜像列表如下:(注意:下面的v1的tag标签可以不打,默认是latest)
humx/myubuntu v1 a31c9c5a390d 6 minutes ago 79.6 MB
myubuntu v1 a31c9c5a390d 6 minutes ago 79.6 MB
再次推送:docker push humx/myubuntu:v1
The push refers to a repository [docker.io/humx/myubuntu]
1970ccf556b5: Preparing
059ad60bcacf: Preparing
8db5f072feec: Preparing
67885e448177: Preparing
ec75999a0cb1: Preparing
65bdd50ee76a: Waiting
denied: requested access to the resource is denied
提示报错是因为: 登录的账户名 和 推送的镜像名称 humx/myubuntu:v1 不匹配
修改镜像名字:
docker tag humx/myubuntu:v1 registry.cn-shenzhen.aliyuncs.com/humx/test:v1
重新push到镜像仓库中:(时间会稍长点)
docker push registry.cn-shenzhen.aliyuncs.com/humx/test:v1
在本机删除这个镜像:
docker rmi a31c9c5a390d
直接删除重启镜像是会报错:
Error response from daemon: conflict: unable to delete a31c9c5a390d (must be forced) - image is referenced in multiple repositories
应该先docker tag改名前的镜像,使用镜像名称删除。(一般在docker tag镜像改名后,最好删除改名前的镜像)
docker rmi myubuntu:v1 Untagged: myubuntu:v1 Untagged: registry.cn-shenzhen.aliyuncs.com/humx/test
拉取阿里云镜像:
docker pull registry.cn-shenzhen.aliyuncs.com/humx/test:v1
镜像加速器设置:
修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
国内连接docker官网很慢修改docker中配置,添加对应中国docker加速器
vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"], "live-restore": true }
如果是docker 的官网提供的仓库这么玩:
首先是登录docker hub (用户名:humx 密码:*******)
[root@docker-test1 ~]# 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 (wangshibo): humx Password: Login Succeeded
登录自己的Docker Hub,即https://hub.docker.com/
登录后,在Repositories里面就可以看到自己在上面推送的镜像humx/myubuntu:v1了,这是个对外的镜像,可以在网络上下载。
在Docker hub上可以看到这个镜像的下载命令(注意下载时跟上tag标签,如果是latest的默认tag可以不跟)
也可以直接在Docker hub上删除这个镜像(Repositories-镜像-Settings-delete)
二、怎么看镜像里边的内容?
1.docker镜像保存在 /var/lib/docker/ 目录下
镜像都存在: /var/lib/docker/containers
通过命令: docker ps -a 来查看容器的id,然后进入到某个容器进行项目里边。
2.查看镜像详情:
docker inspect humx/myubuntu:v1
3.查看镜像的历史记录:
docker history humx/myubuntu:v1
4.容器的开启关闭
docker stop <容器 ID> docker restart <容器 ID>
到此这篇关于Docker 阿里云镜像仓库CR使用小结的文章就介绍到这了,更多相关Docker 阿里云镜像仓库CR内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!