docker-entrypoint.sh:仅exec“ $ @”不起作用

问题描述 投票:0回答:1

几天以来,我一直在努力解决此问题。

文件1:docker-entrypoint.sh

#!/bin/bash
set -e
source /home/${HADOOP_INSTALL_USERNAME}/.bashrc
kinit -kt /home/${HADOOP_INSTALL_USERNAME}/keytab/dept-test-hadoop.${HADOOP_INSTALL_ENV}.keytab dept-test-hadoop
mkdir /tmp/test222222
exec "$@"

Dockerfile:

ENTRYPOINT ["/home/dept-test-hadoop/docker-entrypoint.sh"]

docker运行命令:

docker run -it hadoop-hive:v1 /bin/mkdir /tmp/test1

[挑战或我正在尝试执行的命令是作为命令行参数传递给docker run命令的命令。请注意,这些命令需要kerberos身份验证

1)我已经注​​意到/tmp/test222222,但是在上面的docker run命令中我看不到类似/tmp/test1的内容。我认为docker-entrypoint.sh中的我的执行"$@"没有执行。但是我可以确认脚本正在执行,因为我可以看到/tmp/test222222

2)是否可以通过方法分配环境变量的值?

ENTRYPOINT ["/home/dept-test-hadoop/docker-entrypoint.sh"]

linux docker dockerfile kerberos
1个回答
0
投票
如果您正在寻找一种通过env创建目录的方法,则可以尝试此操作
© www.soinside.com 2019 - 2024. All rights reserved.