Docker镜像使用规范和latest标签 理解(为更新回滚做准备) docker镜像国内源 docker国内源 含阿里云个人镜像仓库转存github

### 由于众所周知的原因 docker.io不能用了

于是记录一下国内几大云厂商的容器镜像仓库地址  不过每个云的ECS最好用自己的云的  例如华为用华为的:

{
 "registry-mirrors": [
    "https://ccr.ccs.tencentyun.com",
    "https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com", # 华为
    "https://registry.cn-hangzhou.aliyuncs.com",
    "https://registry.docker-cn.com"

  ],
 
"log-opts": {
              "max-size": "10m"
            }
}
docker pull 05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com/library/nginx
1. 阿里云 docker hub mirror
  https://registry.cn-hangzhou.aliyuncs.com
  [系统分配前缀].mirror.aliyuncs.com  -- 如果有账号使用
 
2. 腾讯云 docker hub mirror
  https://mirror.ccs.tencentyun.com

3. 华为云
  https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com

4.  docker中国
  https://registry.docker-cn.com

5. 网易
  http://hub-mirror.c.163.com

6.  daocloud
  http://f1361db2.m.daocloud.io

### b站GitHub镜像转存阿里云个人仓库

Github 地址:https://github.com/tech-shrimp/docker_image_pusher 阿里云镜像服务:https://cr.console.aliyun.com/ Docker安装脚本: https://gitee.com/tech-shrimp/me/blob/master/doc/240502.md#安装docker

Docker镜像停服? 我编写了一个镜像转存工具,解决国内无法使用docker的问题,解决docker镜像无法拉取问题,修复docker pull失败_哔哩哔哩_bilibili

dockerfile规范参考链接:Dockerfile编写规范 - Loull - 博客园

原文链接:Docker镜像latest标签 - june.js - 博客园

当使用命令 docker pull mysql 拉取镜像时,其实等价于如下命令

docker pull mysql:latest

latest是默认的标签,字面上理解为最新版本的镜像,实质上latest只是镜像的标签名称,跟具体某个版本号地位一样,有latest标签的镜像不一定是最新版本,镜像作者可以任意指定标签。
一般来说,我们会使用latest作为最新镜像的标识,这是约定。但,一旦该镜像被拉取到本地,版本号就已经确定,不会自动更新。

查看latest镜像的具体版本

docker image inspect mysql:latest | grep -i version

更新latest标签的镜像

docker pull mysql:latest

如果DockerHub上latest标签的镜像有更新,则上述命令会下载最新版本的镜像,且把本地老的latest镜像的标签移除,变为
更新本地所有latest标签的镜像

docker images --format "{{.Repository}}:{{.Tag}}" | grep ':latest' | xargs -L1 docker pull

一键删除 无标签镜像

docker images | grep none | awk '{ print $3; }' | xargs docker rmi

### docker cmd和

dockerfile之CMD和ENDPOINT的区别_dockerfile endpoint-CSDN博客

 指定启动容器时执行的命令,每个 Dockerfile只能有一条 CMD 命令。如果指定了多条命令,只有最后一条会被执行。如果用户启动容器时候指定了运行的命令,则会覆盖掉 CMD 指定的命令。

配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。
 

1、CMD指令指定的容器启动时命令可以被docker run指定的命令覆盖ENTRYPOINT指令指定的命令不能被覆盖,而是将docker run指定的参数当做ENTRYPOINT指定命令的参数。
2、CMD与ENTRYPOINT同时存在时,CMD指令可以为ENTRYPOINT指令设置默认参数,而且CMD可以被docker run指定的参数覆盖;
 

要打包和使用Docker镜像,你可以按照以下步骤进行操作: 1. 首先,你需要在Docker官网上注册一个账号。你可以访问https://hub.docker.com/来注册账号。 2. 登录后,你可以通过以下命令进入容器的终端:docker exec -it [容器ID] /bin/bash。这样你就可以在容器中执行命令和操作了。 3. 如果你想将制作好的镜像上传到Docker仓库,你可以按照以下步骤进行操作: a. 选择你想要打包提交的镜像。 b. 使用命令docker commit [容器名称] [你的Docker Hub用户名]/[镜像名称]:[标签]来进行打包。注意,你需要将容器名称替换为你的容器名称,将你的Docker Hub用户名替换为你的用户名,将镜像名称替换为你想要的镜像名称,标签用于版本控制。 c. 使用命令docker push [你的Docker Hub用户名]/[镜像名称]:[标签]将镜像上传到Docker云端。注意,你需要将你的Docker Hub用户名替换为你的用户名,将镜像名称替换为你的镜像名称,标签用于版本控制。 4. 现在你已经成功打包和上传了Docker镜像,你可以在其他地方使用这个镜像了。你可以使用命令docker pull [你的Docker Hub用户名]/[镜像名称]:[标签]来下载这个镜像,在你的机器上使用docker run命令来创建并运行这个容器。 总结步骤: 1. 注册Docker账号 2. 使用docker exec命令进入容器终端 3. 使用docker commit命令打包镜像 4. 使用docker push命令上传镜像Docker云端 5. 使用docker pull命令下载镜像 6. 使用docker run命令创建并运行容器<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值