通过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