Docker 阿里云镜像仓库CR使用实践

在这里插入图片描述

一、使用容器镜像,查看镜像,创建,推送,拉取阿里云镜像

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>

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要切换docker镜像源为阿里云镜像源,你可以按照以下步骤进行操作: 1. 注册一个阿里云用户,并登录到阿里云的控制台。 2. 访问 https://cr.console.aliyun.com/#/accelerator 获取专属Docker加速器地址。 3. 根据系统的不同,在终端中修改或添加/etc/docker/daemon.json文件。该文件是docker的配置文件。 4. 在daemon.json文件中,将原来的配置替换为以下内容: ```json { "registry-mirrors": ["https://your-accelerator-address"] } ``` 将`your-accelerator-address`替换为你在第二步中获取到的加速器地址。 5. 保存并关闭daemon.json文件。 6. 使用以下命令重启docker服务: ``` sudo systemctl restart docker ``` 7. 使用以下命令来检查docker服务的运行状态: ``` sudo systemctl status docker ``` 你应该能够看到docker服务已经成功启动,并且镜像源已经切换为阿里云镜像源。现在你可以使用docker命令来拉取和推送镜像了。 引用中提到了切换镜像源的具体步骤和一些可能遇到的问题以及解决方法。引用说明了切换镜像源的重要性,并以阿里云镜像源为例进行了说明。引用中提到了通过申请阿里云Docker仓库来解决push镜像超时的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker更改镜像源](https://blog.csdn.net/segegefe/article/details/126327589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker替换阿里云镜像源](https://blog.csdn.net/weixin_44437060/article/details/129537175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Docker镜像的制作,上传,拉取和部署操作(利用阿里云)](https://download.csdn.net/download/weixin_38661800/14888678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值