docker - dockerized应用程序可以在主机上执行脚本吗?

标签 docker

如果我有一个应用程序在 docker 容器中运行,是否可以让它在主机上执行 shell 脚本?我很确定没有办法实现这一点 - 故意的,这就是容器的本质 - 但想检查一下。谢谢。

编辑:如果失败了,有没有办法让应用程序与主机上运行的 docker 引擎交互,以便它可以触发其他容器的“docker stop”“docker run..”等。

最佳答案

嗯,从技术上来说,确实如此。即使是在容器内部,进程也会在主机上运行。您可以在主机上以 root 身份运行 ps aux 时验证这一点:您将看到 Docker 化的进程。

问题是:您的脚本应该与系统进行什么交互?如果它将文件作为输入、访问数据库或网络资源,那么所有这些对于 Docker 化脚本来说都是可能的。您只需定义卷和链接。

关于 docker 引擎:是的,容器也可以控制自己的 docker 引擎。您只需将其添加到 docker 命令中即可:

-v /var/run/docker.sock:/var/run/docker.sock

这样,docker 客户端(容器内)将可以访问 docker 引擎(通过 docker API)。

关于docker - dockerized应用程序可以在主机上执行脚本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40399235/

相关文章:

php - 如何修复 Docker 上的 'Failed to fetch Debian Jessie-updates' 问题?

networking - 限制 Docker 仅从特定 IP 地址公开端口

docker - 获取拨号 tcp : i/o timeout when accessing internet from a service inside a container

linux - 暴露 Docker 容器端口

docker - 如何解析包含--format的点的属性以输出Docker事件?

ssh - "docker run -dti"带有哑终端

docker - hcitool lescan(BLE 或任何扫描,例如 hcitool、gatttool、btdevice-l 等...)在非特权和非主机网络模式下的 docker 中是否可能?

Docker 堆栈部署与 restart_policy 抛出 "Error response from daemon: invalid RestartCondition: "除非停止""

.net - 无法连接到由 docker compose 启动的 .net 容器

Docker 流量控制 (tc) - 未找到指定的 qdisc