forked from sdlab-naist/website
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker.sh
More file actions
executable file
·51 lines (45 loc) · 1.52 KB
/
Copy pathdocker.sh
File metadata and controls
executable file
·51 lines (45 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# --- 設定 ---
# ビルドするDockerイメージ名とタグ
IMAGE_NAME="sdlab-naist/hugo-dev"
IMAGE_TAG="0.84.1-go1.16"
FULL_IMAGE_NAME="${IMAGE_NAME}:${IMAGE_TAG}"
HOST_PORT="1313"
CONTAINER_PORT="1313"
DOCKERFILE="Dockerfile"
# --- 設定ここまで ---
# プロジェクトルートの取得
PROJECT_PATH=$(dirname "$(readlink -f "$0")")
# --- イメージビルド ---
echo "開発用Dockerイメージ $FULL_IMAGE_NAME をビルドします..."
docker build -t "$FULL_IMAGE_NAME" .
if [ $? -ne 0 ]; then
echo "エラー: Dockerイメージのビルドに失敗しました。"
exit 1
fi
echo "イメージのビルドが完了しました。"
# --- イメージビルドここまで ---
# --- 実行モードの分岐 ---
if [ "$#" -eq 0 ]; then
# --- サーバモード (引数なし) ---
echo "Hugo開発サーバーを起動します..."
echo ""
docker run --rm -it \
-p "127.0.0.1:${HOST_PORT}:${CONTAINER_PORT}" \
-v "${PROJECT_PATH}:/src" \
-w "/src" \
-u "$(id -u):$(id -g)" \
"${FULL_IMAGE_NAME}" \
hugo server --bind="0.0.0.0" --baseURL="http://localhost:${HOST_PORT}/" -DF
else
# --- ワンライナーコマンドモード (引数あり) ---
echo "引数 \"$@\" をコンテナ内で hugo コマンドとして実行します..."
echo ""
docker run --rm -it \
-v "${PROJECT_PATH}:/src" \
-w "/src" \
-u "$(id -u):$(id -g)" \
"${FULL_IMAGE_NAME}" \
"$@" # スクリプトに渡された引数をそのままhugoの引数として渡して実行
fi
exit 0