docker - 容器运行时内的可执行 .exe 文件而不生成 dockerfile
问题描述
我想知道是否可以在不创建 dockerfile 的情况下在容器运行时运行可执行文件,即 .exe 文件。我知道可以使用 dockerfile 使用以下方法来完成
FROM ubuntu
MAINTAINER me@gmail.com
COPY name.exe /bin/
CMD ["/bin/name.exe", "input1", "output"]
但我不想创建 dockerfile 并在容器内执行 .exe。请指导我这个。
解决方案
这是不可能的,原因是docker 是什么。这是一个容器化应用程序。
官方文档很好地描述了容器与独立应用程序的不同之处
从根本上说,容器只不过是一个正在运行的进程,它应用了一些附加的封装特性,以使其与主机和其他容器隔离。容器隔离最重要的方面之一是每个容器都与自己的私有文件系统交互;此文件系统由 Docker 映像提供。映像包括运行应用程序所需的一切——代码或二进制文件、运行时、依赖项以及任何其他所需的文件系统对象。
因此,如果 docker 允许您在没有docker 文件的情况下运行可执行文件或任何应用程序文件(jar、war 等),这从根本上违背了使用 docker 的目的。这与运行虚拟机或直接在主机上运行应用程序非常相似。
推荐阅读
- node.js - 异步等待正确使用
- datetime - `foo.Seconds()`(类型 time.Duration)错误 - 不能使用 'd.Step.Seconds()'(类型 float64)作为类型 time.Duration
- c++ - 如何根据 C++ 中的行合并两个二维数组
- java - spring IOC 限定符和自动装配的奇怪行为
- c++ - 为什么我的 for 循环给出错误:X 没有命名类型
- object - ValueError:您正在尝试合并 object 和 int64 列。如果你想继续,你应该使用 pd.concat
- jestjs - 未调用 React-testing-library 模拟函数
- netty - 为什么netty不直接使用AsynchronousServerSocketChannel?
- java - 二叉树:0、1 或 2 个子节点的节点频率计数
- javascript - 如何阻止来自流 iframe(如 vidcloud)的弹出窗口?