Docker镜像使用规范和latest标签 理解(为更新回滚做准备) docker镜像国内源 docker国内源 含阿里云个人镜像仓库转存github
1、CMD指令指定的容器启动时命令可以被docker run指定的命令覆盖ENTRYPOINT指令指定的命令不能被覆盖,而是将docker run指定的参数当做ENTRYPOINT指定命令的参数。2、CMD与ENTRYPOINT同时存在时,CMD指令可以为ENTRYPOINT指令设置默认参数,而且CMD可以被docker run指定的参数覆盖;
### 由于众所周知的原因 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指定的参数覆盖;
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)