!67 增加了重启停止容器、dockerfile方式创建保存容器功能
* change initializeScript path * Merge branch 'add-dockerfile-method-and-start-stop-container' of https… * 更新了容器镜像方式的构建、安装和使用方法,但是devcontainer功能还有问题 * fix run postCreateCommand bug * sh文件方式管理启动脚本 * add restart command and fix bug * add dockerfile method to create container and save container .restart …
This commit is contained in:
repo.diff.committed_by
孟宁
repo.diff.parent
fbd405af67
repo.diff.commit
02baa3b7af
@@ -8,7 +8,8 @@ IMAGE_NAME=devstar-studio
|
||||
VERSION=latest # DevStar Studio的默认版本为最新版本
|
||||
PORT=8080 # 设置端口默认值为 8080
|
||||
SSH_PORT=2222 # 设置ssh默认端口号2222
|
||||
DATA_DIR=~/devstar_data
|
||||
DATA_DIR=${HOME}/devstar_data
|
||||
APP_INI=${DATA_DIR}/app.ini
|
||||
|
||||
# 错误处理函数
|
||||
error_handler() {
|
||||
@@ -89,17 +90,35 @@ function install {
|
||||
|
||||
# Function to start
|
||||
function start {
|
||||
install
|
||||
if [[ -z "$IMAGE_STR" ]]; then
|
||||
install
|
||||
fi
|
||||
# 创建devstar_data目录用于持久化存储DevStar相关的配置和用户数据
|
||||
mkdir -p $DATA_DIR
|
||||
sudo chown 1000:1000 $DATA_DIR
|
||||
sudo chmod 666 /var/run/docker.sock
|
||||
if [ ! -f "$APP_INI" ]; then
|
||||
DOMAIN_NAME=$(hostname -I | awk '{print $1}')
|
||||
echo "DOMAIN_NAME=$DOMAIN_NAME"
|
||||
else
|
||||
# 读取 DOMAIN 值
|
||||
DOMAIN_NAME=$(grep -E '^\s*DOMAIN\s*=' "$APP_INI" | cut -d'=' -f2 | xargs)
|
||||
# 检查是否成功读取到值
|
||||
if [[ -z "$DOMAIN_NAME" ]]; then
|
||||
DOMAIN_NAME="localhost"
|
||||
fi
|
||||
echo "DOMAIN_NAME=$DOMAIN_NAME"
|
||||
fi
|
||||
# 启动devstar-studio容器
|
||||
stop
|
||||
sudo docker run --restart=always --name $NAME -d -p $PORT:3000 -p $SSH_PORT:$SSH_PORT -v /var/run/docker.sock:/var/run/docker.sock -v ~/devstar_data:/var/lib/gitea -v ~/devstar_data:/etc/gitea $IMAGE_REGISTRY_USER/$IMAGE_NAME:$VERSION
|
||||
if [[ -z "$IMAGE_STR" ]]; then
|
||||
IMAGE_STR="$IMAGE_REGISTRY_USER/$IMAGE_NAME:$VERSION"
|
||||
fi
|
||||
echo "image=$IMAGE_STR"
|
||||
sudo docker run --restart=always --name $NAME -d -p $PORT:3000 -p $SSH_PORT:$SSH_PORT -v /var/run/docker.sock:/var/run/docker.sock -v ~/devstar_data:/var/lib/gitea -v ~/devstar_data:/etc/gitea $IMAGE_STR
|
||||
# 打开 `http://localhost:8080` 完成安装。
|
||||
success "-------------------------------------------------------"
|
||||
success "DevStar started in http://localhost:$PORT successfully!"
|
||||
success "DevStar started in http://$DOMAIN_NAME:$PORT successfully!"
|
||||
success "-------------------------------------------------------"
|
||||
exit 0
|
||||
}
|
||||
@@ -109,7 +128,9 @@ function stop {
|
||||
if [ $(docker ps -a --filter "name=^/${NAME}$" -q | wc -l) -gt 0 ]; then
|
||||
sudo docker stop $NAME && sudo docker rm -f $NAME
|
||||
fi
|
||||
|
||||
if [ $(docker ps -a --filter "name=^/devstar-studio$" -q | wc -l) -gt 0 ]; then
|
||||
sudo docker stop devstar-studio && sudo docker rm -f devstar-studio
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to logs
|
||||
@@ -133,6 +154,7 @@ function usage {
|
||||
success " --port=<arg> Specify the port number (default port is 8080)"
|
||||
success " --ssh-port=<arg> Specify the ssh-port number (default ssh-port is 2222)"
|
||||
success " --version=<arg> Specify the DevStar Studio Image Version (default verson is latest)"
|
||||
success " --image=<arg> Specify the DevStar Studio Image example: devstar-studio:latest "
|
||||
success " stop Stop the running DevStar Studio"
|
||||
success " logs View the logs of the devstar-studio container"
|
||||
failure " clean Clean up the running DevStar Studio, including deleting user data. Please use with caution."
|
||||
@@ -146,7 +168,7 @@ case "$1" in
|
||||
usage
|
||||
;;
|
||||
start)
|
||||
ARGS=$(getopt --long port::,ssh-port::,version:: -- "$@")
|
||||
ARGS=$(getopt --long port::,ssh-port::,version::,image:: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
failure "ARGS ERROR!"
|
||||
exit 1
|
||||
@@ -166,7 +188,11 @@ case "$1" in
|
||||
--version)
|
||||
VERSION="$2"
|
||||
echo "The DevStar Studio Image Version is: $VERSION"
|
||||
shift 2 ;;
|
||||
shift 2 ;;
|
||||
--image)
|
||||
IMAGE_STR="$2"
|
||||
echo "The DevStar Studio Image: $IMAGE_STR"
|
||||
shift 2 ;;
|
||||
--)
|
||||
shift
|
||||
break ;;
|
||||
|
||||
Reference in New Issue
Block a user