问题描述
我在 docker 容器中运行 keepalived,作为其中的一部分,我需要在它更改状态时运行一些通知脚本。如果我可以通过启动时传入的环境变量动态更改其中一些脚本的行为,那将会很有用。关于keepalived调用的notify shell脚本是否可以使用docker中设置的环境变量,我还没有得到明确的答案。
例如,假设我们像这样启动一个 docker 实例,其中包含环境变量 FOO:
keepalive-1:
tty: true
privileged: true
environment:
CLUSTER_NETWORK: 172.28.5.10/24
CLUSTER_MANAGEMENT_IP: 172.28.5.20
FOO: BAR
build:
dockerfile: Dockerfile.keepalive
networks:
my-network:
ipv4_address: 172.28.5.10
#!/bin/bash
TYPE=$1
NAME=$2
STATE=$3
case $STATE in
"MASTER")
echo "${FOO} is MASTER"
exit 0
;;
"BACKUP"|"FAULT")
echo "${FOO} is BACKUP"
exit 0
;;
*)
echo "unkNown state $3"
exit 1
;;
esac
当我切换到 MASTER 时会返回什么?
- “酒吧是大师”
- “${FOO} 是大师”
- "是大师"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)