admin管理员组文章数量:1794759
Docker一键推送镜像 – shell脚本
Docker 在构建镜像的时候,每次都要 build 与 push 的时候 还要指定版本非常的麻烦,本文通过一个 shell 脚本来实现 一键推送docker镜像
正文
前提是你有了 DockerFIle 哦
代码语言:javascript代码运行次数:0运行复制#!/bin/bash
# 获取当前时间并格式化为年月日时分
VERSION=$(date +"%Y%m%d_%H%M")
# 定义镜像名称
IMAGE_NAME="镜像中心仓库地址/项目名/仓库名:V$VERSION"
## 镜像地址就是:项目名/仓库名
## 确定唯一一个镜像地址就是:项目名/仓库名:版本
# 构建 Docker 镜像
sudo docker build -t $IMAGE_NAME .
# 检查构建是否成功
if [ $? -eq 0 ]; then
echo "Docker 镜像构建成功: $IMAGE_NAME"
# 推送 Docker 镜像
sudo docker push $IMAGE_NAME
if [ $? -eq 0 ]; then
echo "Docker 镜像推送成功: $IMAGE_NAME"
else
echo "Docker 镜像推送失败"
fi
else
echo "Docker 镜像构建失败"
fi
使用说明:
- 将上述代码保存到一个文件中,例如
build_and_push.sh
。 - 给这个文件添加执行权限:
chmod +x build_and_push.sh
- 运行脚本:
./build_and_push.sh
这个脚本会自动生成版本号,构建 Docker 镜像,并在构建成功后推送到指定的 Docker 注册表。
Shell 脚本讲解
if [ $? -eq 0 ]; then
是一个常见的 Bash 脚本语句,用于检查前一个命令的执行结果。
解释:
$?
:这是一个特殊变量,表示上一个命令的退出状态码。成功执行的命令通常返回0
,而失败的命令返回一个非零值。-eq
:这是一个比较运算符,用于判断两个数是否相等。在这里,它用于检查$?
的值是否等于0
。if [ $? -eq 0 ]; then
:这个语句的意思是:如果上一个命令成功执行(即返回值为0
),那么就执行then
后面的命令块。
特殊说明: 上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-25,如有侵权请联系 cloudcommunity@tencent 删除shell变量脚本镜像推送本文标签: Docker一键推送镜像 – shell脚本
版权声明:本文标题:Docker一键推送镜像 – shell脚本 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754617527a1704428.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论