Docker运行命令与环境变量

时间:2016-07-22 10:01:37

标签: docker

我正在尝试启动一个将执行如下命令的docker容器:

$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic popota --partitions 1 --replication-factor 1

其中$ KAFKA_DOCKER_IMAGE,$ replication_factor和$ num_partitions是我用来执行此命令的脚本中定义的变量。 $ KAFKA_HOME是一个已在docker镜像中定义的环境变量。

我的问题是正在容器上执行的命令如下:

Send Port

它不会扩展$ KAFKA_HOME。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我认为你必须使用-e标志

来提供环境变量

https://docs.docker.com/engine/reference/run/#env-environment-variables

答案 1 :(得分:0)

我找到了解决方案:

docker run --net="host" -it --entrypoint bash $KAFKA_DOCKER_IMAGE -c "\$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic $1 --partitions $num_partitions --replication-factor $replication_factor"