首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dockerfile中运行可执行文件

在dockerfile中运行可执行文件
EN

Stack Overflow用户
提问于 2015-03-27 09:29:35
回答 3查看 41.4K关注 0票数 13

我是Docker的新手,正在通读特恩布尔的“Docker书”。本质上,我掌握了容器如何工作的术语和过程,以及镜像在传输协议和虚拟化操作系统中的工作方式。

但是,我的however文件没有运行本地可执行文件,并且我不知道如何将本地可执行文件添加到容器的/bin目录中。

我的目标:我想将name.exe添加到我的容器的/bin目录中。那么我想要一个docker文件,

代码语言:javascript
复制
FROM ubuntu
MAINTAINER me@gmail.com
RUN ["name.exe", "input1", "output"]

让我的容器运行我的程序,并创建输出。我的目标是让他们将我的容器放到我的资源库中,并与我编写的所有/bin程序一起分享。

但是,我不能这样做。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-29 18:14:19

请记住,name.exe必须与您的dockerfile位于同一目录中。From the documentation

<src>路径必须在构建的上下文中;您不能COPY ../something /something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。

您的dockerfile可能如下所示:

代码语言:javascript
复制
FROM ubuntu
MAINTAINER me@gmail.com
COPY name.exe /bin/
CMD ["/bin/name.exe", "input1", "output"]

你可以像这样构建它:

代码语言:javascript
复制
docker build --tag=me/my-image .

当您运行它(docker run me/my-image)时,它将运行/bin/name.exe input1 output

票数 13
EN

Stack Overflow用户

发布于 2015-03-27 21:38:36

尝试:

代码语言:javascript
复制
FROM ubuntu
ADD name.exe /bin/name.exe
ENTRYPOINT["name.exe"]
CMD["input1","input2"]

但是这个input1 input2也必须在docker上,否则你必须在运行时添加-v

票数 2
EN

Stack Overflow用户

发布于 2015-03-28 00:59:20

基本上,"add“命令将文件从本地系统复制到docker镜像中。

查看此处了解更多信息:https://docs.docker.com/reference/builder/#add

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29291826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档