linux - docker run 的命令行参数

标签 linux mono centos docker

我正在尝试根据我们的需要慢慢构建一个 docker 镜像。我想要做的是运行具有单声道的基本镜像,然后让单声道在后台运行可执行文件。在普通命令行中,不尝试在容器中运行它,它看起来像:

/usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe &

效果很好。但是,如果我在像这样运行容器时尝试这样做:

sudo docker run -i -t crystal/mono-base /usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe &

我得到 没有这样的文件或目录。有没有办法可以传入 & ?最后,我想通过 & 来在后台运行这个 BackgroundProcessor,然后在前台运行另一个应用程序。我看到这篇文章寻求不同的解决方案,http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/ ,但我想我可以从命令行运行一些东西来为我们的应用程序提供概念证明。

最佳答案

使用 -c 选项来 bash 以字符串形式给它一个命令行:

sudo docker run -i -t crystal/mono-base bash -c "/usr/local/bin/mono /home/crystal/Downloads/BackgroundProcesser.exe & /bin/bash"

并在后台命令后放置一些内容到容器不会立即退出

关于linux - docker run 的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26306867/

相关文章:

c - 如何避免在命名管道关闭后阻塞 read()

linux - MD5重复消除错误

c# - 从 C# 跨平台调用 C++

python - Centos安装gevent报错gcc

python - 如何在Alpine Linux上安装GLPK?

C# SSH 连接

c# - .Net、C# 和开源运动

node.js - 在 Centos 上找不到本地咕噜声

linux - Centos 7 : Auto restart application if it stopped

linux - 对于两个连续的选项, `getopts` 将第二个选项作为第一个选项的参数