在Docker中禁用交互模式

4
在推送/发布/共享Docker镜像之前,我想禁用交互模式或密码保护容器登录。是否有此选项?
使用情况是,只能以分离模式从docker run或exec中运行应用程序。
docker exec -d ubuntu_bash touch /tmp/execWorks

但无法实现

docker run -ti ubuntu bash

到目前为止,我在Docker文档中没有找到它。


你试图通过禁用图像的交互模式来实现什么? - Here_2_learn
我正在尝试与第三方分享图像,并希望保护图像中的代码(和二进制文件)。我的想法是通过禁用交互模式来添加此保护。这种保护可行吗? - user2423696
理想情况下,在构建镜像时,您可以使用非根用户来保护您的代码。 "USER newuser" - Here_2_learn
1个回答

2
一种解决方案是完全从镜像中删除 shell:
docker exec :id -it /bin/rm -R /bin/*

这段文字的翻译如下:

这将删除sh和任何有用的Linux命令。我不知道此时是否有可能重新获得访问权限。还要注意的另一个方面是,你可能能够使用内存调试器获取正在运行的容器的环境变量,但这会使它变得更加困难。

最后,如果您想保留用户的敏感信息并允许某种访问,请参考:

https://docs.docker.com/engine/swarm/secrets/


想要访问容器的任何人都可以执行 docker cp /bin/bash id:/bin/bash - Pari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接