security - 围绕ENTRYPOINT的Docker安全性问题

标签 security docker containers

我正在试验Docker,并了解有关卷使用的概念。我有一个tomcat应用程序,它将文件写入特定的卷。

我写了一个ENTRYPOINT为“dosomething.sh”的Dockerfile

我的入口点脚本问题是..

在“dosomething.sh”中,我可能有一个恶意代码来删除该卷上的所有文件!

有没有一种方法可以防止这种情况发生,特别是因为我正计划与我的开发团队共享此dockerfile和脚本,因此对于生产角色必须采取的防护措施似乎令人恐惧!

一种想法是对于所有具有卷的容器完全不使用“ENTRYPOINT”。
经验丰富的人,请为您提供建议。

最佳答案

如果您使用data volume container隔离卷,则此类容器将永远不会运行:它们仅是创建的(docker create)。

这意味着您需要将该数据卷容器安装到其他容器中,以便它们访问该卷。
这减轻了一点危险的入口点:简单的docker run将无法访问任何内容,因为未设置-v挂载量选项。

另一种方法是,至少将脚本声明为CMD,而不是ENTRYPOINT(对于ENTRYPOINT,将其声明为[ "/bin/sh", "-c" ]。这样,可以通过替代命令(作为参数传递,覆盖CMD)更轻松地进行docker运行,而不必始终仅因为它是ENTRYPOINT而执行脚本。

关于security - 围绕ENTRYPOINT的Docker安全性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202257/

相关文章:

javascript - 有一个更好的方法吗? (递归解析 HTML unicode 实体)

wcf - WCF 传输安全 SSL 问题

android - 我自己的应用程序之间的安全通信

windows - EFS(加密文件系统): security concern: aren't password-related hashes stored on the hard drive

containers - ELI5 : How etcd really works and what is consensus algorithm

java - Java Xmx 和 Docker 容器 RAM 大小之间还有多少余量?

docker - 将 docker tar 文件转换为奇异图像?

azure - 在 docker 镜像中安装包时出现错误

docker - Solaris 11.3上的Docker有哪些替代方案?

c++ - 具有多种键类型的关联数组,可能吗?