Compare commits
8 Commits
docker_too
...
docker_too
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b9b07fdf3 | |||
| 76d58b74a2 | |||
| 925dda5d5b | |||
| 7b50783d3c | |||
| eebfc99b24 | |||
| 4e2f7b927d | |||
| bf1177c71a | |||
| 22d7d17cd0 |
11
ReadMe.txt
11
ReadMe.txt
@@ -7,14 +7,17 @@ This project aims to give some basic tools to be used by other Rx3 docker packag
|
||||
Features:
|
||||
- docker_tools_install & docker_mk_dir to setup a new application environment,
|
||||
- docker_mk_env command to compile env file into .env file,
|
||||
- docker_start, docker_stop & docker_logs command,
|
||||
- docker_start, docker_stop , docker_restart & docker_logs command,
|
||||
- docker_network_up & docker_network_down automatically called to setup external network rule & route,
|
||||
- docker_service_add env file function,
|
||||
- docker_build_push.
|
||||
- docker_build_push & docker_sbs (Stop / Build / Start),
|
||||
|
||||
Support different mounted volume modes:
|
||||
- Single,
|
||||
- Merged, (Old mode)
|
||||
- Splited. (Default)
|
||||
- Mixed (Old mode),
|
||||
- Merged,
|
||||
- Splited (Default).
|
||||
|
||||
|
||||
|
||||
Enjoy it!
|
||||
|
||||
@@ -1,3 +1,44 @@
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.4.1 - A. GIBERT - 2026/02/28
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add docker_restart & docker_sbs scripts.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.4.0 - A. GIBERT - 2025/08/06
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add docker_network_up & docker_network_down scripts called by docker_start & docker_stop,
|
||||
- Add cd in script to allow external docker application dir call.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.3.7 - A. GIBERT - 2025/03/31
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Remove ${service_name} == ${APPL_NAME} exception handling for *_IMG_URL.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.3.6 - A. GIBERT - 2025/01/31
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add a new DOCKER_TOOLS_USER_GROUP_FORCE env variable support.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.3.5 - A. GIBERT - 2025/01/24
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add a new DOCKER_TOOLS_VOLUME mode: "MIXED".
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3-Docker/Docker Tools V 1.3.4 - A. GIBERT - 2025/01/13
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -9,6 +9,9 @@ APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
sbin/docker_mk_env
|
||||
|
||||
docker compose build
|
||||
|
||||
@@ -9,4 +9,7 @@ APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
docker compose logs -f
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
#set -o errexit
|
||||
|
||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
grep -e _LOG_ -e _LIB_ .env | grep -e _EXT= | while read line
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
#
|
||||
# DOCKER_TOOLS_DEBUG= TRUE | FALSE # Enable debugging (Default FALSE)
|
||||
#
|
||||
# DOCKER_TOOLS_VOLUME= SINGLE | MERGED | SPLITED # Default: SPLITED
|
||||
# DOCKER_TOOLS_VOLUME= SINGLE | MIXED | MERGED | SPLITED # Default: SPLITED
|
||||
# SINGLE: Merged volume mode + No service suffix
|
||||
# MERGED: Merged volume mode + Service suffix
|
||||
# MIXED: Merged volume mode + Init/SV log Service suffix
|
||||
# MERGED: Merged volume mode + Full service suffix
|
||||
# SPLITED: By service volume mode + No service suffix
|
||||
#
|
||||
# DOCKER_TOOLS_EXEPTION_LIBS="module_name:lib_dir_name ..."
|
||||
@@ -16,6 +17,8 @@
|
||||
# DOCKER_TOOLS_EXEPTION_LOGS="module_name:log_dir_name ..."
|
||||
# Example: "postgres:web-server:httpd"
|
||||
#
|
||||
# DOCKER_TOOLS_USER_GROUP_FORCE= TRUE | FALSE # Force using curent user / group (Default FALSE)
|
||||
#
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
@@ -137,10 +140,10 @@ function docker_service_add
|
||||
|
||||
if [[ "${service_name}" == "${APPL_NAME}" ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}:${target_version}"
|
||||
# dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}:${target_version}"
|
||||
dynvar_export "${varible_prefix}_HOST_NAME" "$( psfix_cat "${HOST_NAME_PREFIX}" "-" "webapp")"
|
||||
else
|
||||
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
|
||||
# dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
|
||||
dynvar_export "${varible_prefix}_HOST_NAME" "$( psfix_cat "${HOST_NAME_PREFIX}" "-" "${service_name}")"
|
||||
fi
|
||||
|
||||
@@ -187,11 +190,20 @@ function docker_service_add
|
||||
volume_prefix="./mnt/${service_name}"
|
||||
fi
|
||||
|
||||
if [[ "${DOCKER_TOOLS_VOLUME}" != "MERGED" ]]
|
||||
|
||||
if [[ "${DOCKER_TOOLS_VOLUME}" == "SINGLE" ]] || [[ "${DOCKER_TOOLS_VOLUME}" == "SPLITED" ]]
|
||||
then
|
||||
volume_suffix_ext=""
|
||||
volume_suffix_initsv_ext=""
|
||||
volume_suffix_module_ext=""
|
||||
else
|
||||
volume_suffix_ext="${service_name}"
|
||||
volume_suffix_initsv_ext="${service_name}"
|
||||
|
||||
if [[ "${DOCKER_TOOLS_VOLUME}" == "MIXED" ]]
|
||||
then
|
||||
volume_suffix_module_ext=""
|
||||
else
|
||||
volume_suffix_module_ext="${service_name}"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -220,23 +232,17 @@ function docker_service_add
|
||||
|
||||
|
||||
dynvar_export "${varible_prefix}_LIB_INT" "${module_lib_path}"
|
||||
dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}${module_lib_path}" "-" "${volume_suffix_ext}")"
|
||||
dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}${module_lib_path}" "-" "${volume_suffix_module_ext}")"
|
||||
|
||||
|
||||
# dynvar_export "${varible_prefix}_LIB_INT" "/var/lib/${module_lib_name}"
|
||||
# dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}/var/lib/${module_lib_name}" "-" "${volume_suffix_ext}")"
|
||||
|
||||
dynvar_export "${varible_prefix}_LOG_INIT_INT" "/var/log/init"
|
||||
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "$( psfix_cat "${volume_prefix}/var/log/init" "-" "${volume_suffix_ext}")"
|
||||
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "$( psfix_cat "${volume_prefix}/var/log/init" "-" "${volume_suffix_initsv_ext}")"
|
||||
|
||||
dynvar_export "${varible_prefix}_LOG_SV_INT" "/var/log/supervisor"
|
||||
dynvar_export "${varible_prefix}_LOG_SV_EXT" "$( psfix_cat "${volume_prefix}/var/log/supervisor" "-" "${volume_suffix_ext}")"
|
||||
dynvar_export "${varible_prefix}_LOG_SV_EXT" "$( psfix_cat "${volume_prefix}/var/log/supervisor" "-" "${volume_suffix_initsv_ext}")"
|
||||
|
||||
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "${module_log_path}"
|
||||
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}${module_log_path}" "-" "${volume_suffix_ext}")"
|
||||
|
||||
# dynvar_export "${varible_prefix}_LOG_MAIN_INT" "/var/log/${module_name}"
|
||||
# dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}/var/log/${module_name}" "-" "${volume_suffix_ext}")"
|
||||
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}${module_log_path}" "-" "${volume_suffix_module_ext}")"
|
||||
|
||||
|
||||
|
||||
@@ -268,6 +274,11 @@ function docker_service_add
|
||||
user_name="-"
|
||||
user_id="-"
|
||||
else
|
||||
if [[ "${DOCKER_TOOLS_USER_GROUP_FORCE}" == "TRUE" ]]
|
||||
then
|
||||
user_name_id=$( id -u)
|
||||
fi
|
||||
|
||||
if [[ "${user_name_id}" =~ ^[0-9]+$ ]]
|
||||
then
|
||||
user_name="-"
|
||||
@@ -287,6 +298,11 @@ function docker_service_add
|
||||
group_name="-"
|
||||
group_id="-"
|
||||
else
|
||||
if [[ "${DOCKER_TOOLS_USER_GROUP_FORCE}" == "TRUE" ]]
|
||||
then
|
||||
group_name_id=$( id -g)
|
||||
fi
|
||||
|
||||
if [[ "${group_name_id}" =~ ^[0-9]+$ ]]
|
||||
then
|
||||
group_name="-"
|
||||
@@ -303,90 +319,6 @@ function docker_service_add
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
function docker_service_add-12
|
||||
{
|
||||
varible_prefix="$1"
|
||||
shift
|
||||
|
||||
for var in NAME NAME_FULL URL_PREFIX IMG_NAME APPL_NAME VERSION_EXT VERSION_INT PORT_MAIN_EXT PORT_MAIN_INT PORT_ADMIN_EXT PORT_ADMIN_INT USER_NAME GROUP_NAME
|
||||
do
|
||||
dynvar_export "${varible_prefix}_${var}" "$1"
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
dynvar_export "${varible_prefix}_LOG_INIT_INT" "/var/log/init"
|
||||
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "./var/log/init-\${${varible_prefix}_NAME}"
|
||||
dynvar_export "${varible_prefix}_LOG_SV_INT" "/var/log/supervisor"
|
||||
dynvar_export "${varible_prefix}_LOG_SV_EXT" "./var/log/supervisor-\${${varible_prefix}_NAME}"
|
||||
|
||||
if [[ $( eval echo \${${varible_prefix}_APPL_NAME}) != "-" ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_LIB_INT" "/var/lib/\${${varible_prefix}_APPL_NAME}"
|
||||
dynvar_export "${varible_prefix}_LIB_EXT" "./var/lib/\${${varible_prefix}_APPL_NAME}"
|
||||
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "/var/log/\${${varible_prefix}_APPL_NAME}"
|
||||
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "./var/log/\${${varible_prefix}_APPL_NAME}"
|
||||
fi
|
||||
|
||||
if [[ $( eval echo \${${varible_prefix}_IMG_NAME}) != "-" ]]
|
||||
then
|
||||
# No Build
|
||||
|
||||
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_IMG_NAME}:\${${varible_prefix}_VERSION_EXT}"
|
||||
else
|
||||
# Build
|
||||
|
||||
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_NAME}:\${${varible_prefix}_VERSION_EXT}"
|
||||
|
||||
dynvar_export "${varible_prefix}_MODULE_NAME" "\${${varible_prefix}_NAME}"
|
||||
dynvar_export "${varible_prefix}_MODULE_PATH" "src/\${${varible_prefix}_NAME}"
|
||||
fi
|
||||
|
||||
dynvar_export "${varible_prefix}_CONTAINER_NAME" "${CONTAINER_NAME_PREFIX}-\${${varible_prefix}_NAME}"
|
||||
dynvar_export "${varible_prefix}_HOST" "\${${varible_prefix}_CONTAINER_NAME}"
|
||||
|
||||
dynvar_export "${varible_prefix}_PORT_MAIN_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_ENV_OFFSET}))"
|
||||
dynvar_export "${varible_prefix}_PORT_SV_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_SV_OFFSET}))"
|
||||
dynvar_export "${varible_prefix}_PORT_SV_INT" "9001"
|
||||
|
||||
if [[ $( eval echo \${${varible_prefix}_PORT_ADMIN_EXT}) != "-" ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_PORT_ADMIN_EXT" "\$(( \${${varible_prefix}_PORT_ADMIN_EXT} + ${PORT_ENV_OFFSET}))"
|
||||
fi
|
||||
|
||||
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) == "-" ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_USER_ID" "-"
|
||||
else
|
||||
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) =~ ^[0-9]+$ ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_USER_ID" "\${${varible_prefix}_USER_NAME}"
|
||||
else
|
||||
dynvar_export "${varible_prefix}_USER_ID" "\$( id -u \${${varible_prefix}_USER_NAME})"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $( eval echo \${${varible_prefix}_GROUP_NAME}) == "-" ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_GROUP_ID" "-"
|
||||
else
|
||||
if [[ $( eval echo \${${varible_prefix}_GROUP_NAME}) =~ ^[0-9]+$ ]]
|
||||
then
|
||||
dynvar_export "${varible_prefix}_GROUP_ID" "\${${varible_prefix}_GROUP_NAME}"
|
||||
else
|
||||
dynvar_export "${varible_prefix}_GROUP_ID" "\$( getent group \${${varible_prefix}_GROUP_NAME} | cut -d: -f3)"
|
||||
fi
|
||||
fi
|
||||
|
||||
dynvar_export "${varible_prefix}_CONTEXT_PATH" "/${APPL_NAME}/\${${varible_prefix}_NAME}/"
|
||||
|
||||
|
||||
# dynvar_export "${varible_prefix}_" "${varible_prefix}_${}"
|
||||
}
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
function docker_config_add
|
||||
{
|
||||
|
||||
28
sbin/docker_network_down
Executable file
28
sbin/docker_network_down
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
|
||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
. .env
|
||||
|
||||
if [[ "${NETWORK_TABLE}" != "" ]]
|
||||
then
|
||||
if [[ "$( ip rule list | grep "from ${NETWORK_ADDRESS}")" != "" ]]
|
||||
then
|
||||
ip rule del from ${NETWORK_ADDRESS}
|
||||
fi
|
||||
|
||||
if [[ "$( ip route list table ${NETWORK_TABLE} | grep "${NETWORK_SUBNET}")" != "" ]]
|
||||
then
|
||||
ip route del ${NETWORK_SUBNET} table ${NETWORK_TABLE}
|
||||
fi
|
||||
fi
|
||||
24
sbin/docker_network_up
Executable file
24
sbin/docker_network_up
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
|
||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
. .env
|
||||
|
||||
if [[ "${NETWORK_TABLE}" != "" ]]
|
||||
then
|
||||
sbin/docker_network_down
|
||||
|
||||
ip rule add from ${NETWORK_ADDRESS} table ${NETWORK_TABLE}
|
||||
|
||||
ip route add ${NETWORK_SUBNET} dev ${NETWORK_IF_NAME} table ${NETWORK_TABLE}
|
||||
fi
|
||||
17
sbin/docker_restart
Executable file
17
sbin/docker_restart
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
|
||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
sbin/docker_stop
|
||||
|
||||
sbin/docker_start
|
||||
19
sbin/docker_sbs
Executable file
19
sbin/docker_sbs
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
set -o errexit
|
||||
|
||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
sbin/docker_stop
|
||||
|
||||
sbin/docker_build_push
|
||||
|
||||
sbin/docker_start
|
||||
@@ -9,7 +9,12 @@ APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
sbin/docker_mk_env
|
||||
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
|
||||
sbin/docker_network_up
|
||||
|
||||
@@ -9,4 +9,9 @@ APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
cd ${APPL_HOME_DIR}
|
||||
|
||||
|
||||
docker compose down
|
||||
|
||||
sbin/docker_network_down
|
||||
|
||||
Reference in New Issue
Block a user