hz/cctp-atu/atu-upper-computer/shell/docker-start.sh

79 lines
1.8 KiB
Bash

#!/bin/sh
source /etc/profile
## 应用名称
APP_NAME=cctp-atu
## 工作目录
APP_WS=/home/nk_cloud/config
CONTAINER_WS=/home/nk_cloud/config
## 镜像版本
VERSION=2.1
## 公司名称
corporation=northking
## 镜像仓库配置
DOCKER_REGISTRY=192.168.0.165:8889
USERNAME=admin
PASSWORD=admin123
## 获取运行 容器ID
RUN_ID=$(docker ps |grep ${APP_NAME}|awk '{print $1}')
## 停止旧的容器
if [ "${RUN_ID}" = "" ]; then
echo "Container ${APP_NAME} is not starting "
else
## 停止 docker容器
docker stop ${RUN_ID}
echo "Container ${APP_NAME} , ID: ${RUN_ID} is stopped "
fi
## 获取 docker 容器ID
STOP_ID=$(docker ps -a |grep ${APP_NAME}|awk '{print $1}')
## 删除旧的容器
if [ "${STOP_ID}" = "" ]; then
echo "Container ${APP_NAME} is not exist"
else
## 移除 docker容器
docker rm ${STOP_ID}
echo "Remove container ${APP_NAME} , ID: ${STOP_ID} "
fi
## 获取 镜像ID
IMG_ID=$(docker images |grep ${APP_NAME}|awk '{print $3}')
## 删除本地镜像
if [ "${IMG_ID}" = "" ]; then
echo "Image ${APP_NAME} is not exist "
else
## 移除 docker镜像
docker rmi ${IMG_ID}
echo "Remove image ${APP_NAME} , ID: ${IMG_ID} "
fi
## 删除镜像
docker rmi ${DOCKER_REGISTRY}/${corporation}/${APP_NAME}:${VERSION}
docker rmi ${corporation}/${APP_NAME}:${VERSION}
## 登录镜像仓库
docker login -u ${USERNAME} -p ${PASSWORD} ${DOCKER_REGISTRY}
## 下载镜像
docker pull ${DOCKER_REGISTRY}/${corporation}/${APP_NAME}:${VERSION}
## 启动镜像
docker run -itd --net=host --restart=always \
--name ${APP_NAME} \
--privileged=true \
-v /etc/localtime:/etc/localtime \
-v ${APP_WS}:${CONTAINER_WS} \
${DOCKER_REGISTRY}/${corporation}/${APP_NAME}:${VERSION}