docker打包并上传到腾讯云镜像仓库脚本

yuyu888 于 2022-03-24 发布

通过shell脚本执行自动打包创建一个docker,并push到腾讯云镜像仓库,避免手工一行一行敲命令

DeployDocker.sh

#!/bin/bash
echo "login"
sudo docker login --username=1000xxxx2 ccr.ccs.tencentyun.com
read -p "continue:(y/n) :" IS_CONTINUE 
if [ "$IS_CONTINUE" != "y" ];then
echo "exit";
exit;
fi
echo "build"
GOOS=linux GOARCH=amd64 go build -o main
sudo  docker build -t revdol_ws .
sudo docker images
IMAGE_ID=`sudo docker images | grep revdol_ws |awk '{if($2=="latest"){print $3}}'`
echo  $IMAGE_ID
read -p "Please input a new tag:" NEW_TAG
CMD_DOCKER_TAG="sudo docker tag ${IMAGE_ID}  ccr.ccs.tencentyun.com/xxx/xxx-xxx-xx:${NEW_TAG}"
echo $CMD_DOCKER_TAG
eval $CMD_DOCKER_TAG
CMD_DOCKER_PUSH="sudo docker push ccr.ccs.tencentyun.com/xxx/xxx-xxx-xx:${NEW_TAG}"
echo $CMD_DOCKER_PUSH
eval $CMD_DOCKER_PUSH

Dockerfile

FROM loads/alpine:3.8

LABEL maintainer="xxx@xx.com"

###############################################################################
#                                INSTALLATION
###############################################################################

# 设置固定的项目路径
ENV WORKDIR /data/www/revdol_ws/

# 添加应用可执行文件,并设置执行权限
ADD ./main   $WORKDIR/main
RUN chmod +x $WORKDIR/main

# 添加I18N多语言文件、静态文件、配置文件、模板文件
ADD i18n     $WORKDIR/i18n
ADD public   $WORKDIR/public
ADD config   $WORKDIR/config
ADD template $WORKDIR/template

###############################################################################
#                                   START
###############################################################################
WORKDIR $WORKDIR
CMD ./main