我试图在Docker中启动Cassandra。
如果我用
结束我的DockerfileCMD["cassandra", "-f"]
它开始没有问题。但是当我使用脚本执行此操作时:
COPY ./launch_cassandra.sh /tmp/cassandra/launch_cassandra.sh
CMD["sh", "/tmp/cassandra/launch_cassandra.sh"]
launch_cassandra.sh
仅包含:
cassandra -f
我收到以下错误:
不建议以root用户或组身份运行Cassandra - 请 使用不同的系统用户启动Cassandra。
为什么这些不相同?为什么脚本以root身份运行?
答案 0 :(得分:0)
如上面的评论所述,我的Dockerfile扩展了官方版本(使用FROM cassandra
),其中使用了入口点脚本(docker-entrypoint.sh
)来设置一些变量。
因此,当CMD包含cassandra
时,确实设置了这些,但不包含脚本:这就是差异的来源。