docker-entrypoint.sh 模板
官方示例
示例代码
#!/bin/sh
set -eo pipefail
shopt -s nullglob
# ------------------
echo do something
# ------------------
echo "start exec '$@'"
exec "$@"
含义
set -e
- 如果任何语句支持结果不是 0(出错),则应该退出
- 如果要增加可读性, 可以使用
set -o errexit
set -o pipefail
- 与
set -e
类似,作用域是管道 - 脚本中的管道,如果前面的命令执行出了问题, 应该立即退出
- 可与
set -e
结合set -eo pipefail
set -o
查看所有可设置的选项
shopt -s nullglob
- 在使用 Linux 中的通配符时
* ?
时,没有匹配到时执行去掉通配符的内容,如 在空文件夹下 执行echo /tmp/123/*
:- 未设置时输出 输出
/tmp/123/*
- 设置后输出 空字符串
- 未设置时输出 输出
shopt -p
列出所有可设置的选项
exec “$@”
- 在执行完
docker-entrypoint.sh
的内容后,执行用户自定义脚本