docker - 在 docker 中禁用交互模式

标签 docker

在推送/发布/共享 docker 镜像之前,我想禁用容器中的交互模式或密码保护日志记录。有没有这样做的选择?

用例是只能在分离模式下从 docker run 或 exec 运行应用程序

docker exec -d ubuntu_bash touch /tmp/execWorks

但做不到
docker run -ti ubuntu bash

到目前为止,我在 docker 文档中找不到它。

最佳答案

一种解决方案是从图像中完全删除 shell :

docker exec :id -it /bin/rm -R /bin/*

这摆脱了 sh 和 Linux 中任何有用的 bin 命令。我不知道此时是否可以重新获得访问权限。要记住的另一个方面是,您可以使用内存调试器来获取正在运行的容器的环境变量,但这会使其变得更加困难。

最后但并非最不重要的是,如果您想保留用户的敏感信息并允许某种访问检查:

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

关于docker - 在 docker 中禁用交互模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44548607/

相关文章:

python - 在服务器中对Gunicorn + Nginx + Django dockerized应用程序进行新更改

java - 集群模式下的 Apache Storm FileNotFoundException

docker - 为什么当构建错误退出时,来自 docker 文件的 docker 构建镜像会创建容器?

java - 如何使用java从docker容器读取文件

mysql - 无法连接到docker上的mysql

docker - 设置资源限制时,Kubernetes Pod 仅分配给一个节点

node.js - 在WORKDIR子目录的上下文中运行Docker CMD

r - RSelenium与Docker。 checkError(res)中的错误

ruby-on-rails - Rails Assets 缓存未清除 - Docker、Rails、Nginx

docker - |1 在 Docker 历史中意味着什么