Docker容器一键打包脚本

36 篇文章 2 订阅
15 篇文章 0 订阅

脚本内容

#!/bin/bash
if [[ $UID == 0 ]];then
        echo '开始打包...'
else
        echo '仅支持root用户'
        exit 1
fi
check_input(){
        if [[ -z "$1" ]];then
                echo -e "[$2]未输入"
                exit 1
        fi
}
check_status(){
        if [[ $? == 0 ]];then
                echo -e "${1}成功"
        else
                echo -e "${1}失败"
                exit 1
        fi
}
read -p "请输入容器id" con_id
check_input $con_id "容器ID"
read -p "请输入新的镜像名称[不允许大写]" img_name
check_input $img_name "镜像名称"
read -p "请输入镜像保存文件名[不允许特殊符号]" tar
check_input $tar "文件名"
docker commit $con_id $img_name
check_status "保存容器[$con_id]"
docker save -o $tar $img_name
check_status "保存镜像[$tar]"

执行效果

root@YY:~# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                    PORTS                                      NAMES
b8ae7ac42522        arm64v8/debian:latest        "bash"                   12 minutes ago      Up 12 minutes                                                        syslog
45e7c9fd4a03        debian10/apache2-ssl:v3.3    "bash"                   18 hours ago        Exited (0) 18 hours ago                                              web
cd3e7b827bab        debian10/apache2-ssl:v3.3    "bash"                   19 hours ago        Up 19 hours               0.0.0.0:81->80/tcp, 0.0.0.0:444->443/tcp   condescending_dirac
9cc933a39684        arm64v8/debian10_dvwa:v1.1   "/bin/bash"              40 hours ago        Up 18 hours                                                          dvwa
7e5e796a4e92        arm64v8/php                  "docker-php-entrypoi…"   2 weeks ago         Exited (0) 47 hours ago                                              php
4aeab4ddd6b0        c428dcf81d15                 "/bin/bash"              2 weeks ago         Exited (0) 2 weeks ago                                               share_ftp_liumou
root@YY:~# bash auto.sh 
开始打包...
请输入容器idb8ae7ac42522
请输入新的镜像名称[不允许大写]arm64v8/debian_syslog:v1.1
请输入镜像保存文件名[不允许特殊符号]docker_images_syslog.tar
sha256:5a6c4df0d3e6c5b28adbf4f8f8fbe290f4e5334b3b8785e9c505dacaf05aa582
保存容器[b8ae7ac42522]成功
保存镜像[docker_images_syslog.tar]成功
root@YY:~# ls
模板  auto.sh  code-oss_1.45.0-1586135971_arm64.deb  Desktop  docker_images_syslog.tar  Documents  Downloads  file.txt  http  list.txt  Music  Pictures  Videos
root@YY:~# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐公交也用券

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值