首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使bash在运行容器时从函数内部运行命令

使bash在运行容器时从函数内部运行命令
EN

Stack Overflow用户
提问于 2016-12-09 19:02:54
回答 1查看 270关注 0票数 1

我有一个有趣的问题,我似乎找不到答案。我正在创建一个bash脚本,它将允许我自己和其他与我一起工作的开发人员自动创建停靠映像,以及运行NginX和创建will服务器的容器。我所有的东西都运行的很好,我可以运行一个单行,它将完成所有需要的事情。当我希望能够从bash脚本中退出Docker容器时,问题就出现了。我说的一个简单的例子是..。

代码语言:javascript
复制
#!/bin/bash
sudo docker run --name $1 -i -p $2 -t $3

显然,这是一个非常简单的例子,但它将做的是启动一个新的码头集装箱名称,无论他们想要什么,通过任何他们决定的港口,并使用他们想要的任何形象。

真正的问题是当我想退出那个码头集装箱的时候。我不能仅仅向bash文件添加一个"exit 13“,因为它将在docker命令停止之后才会运行,这是因为我不能退出它。

如果码头容器只启动码头容器中的终端会话,我将如何让bash脚本强制码头容器退出?

我知道我可以在码头提示符中的码头容器中手动输入"exit 13“,但是我想让我的bash脚本创建码头容器退出它。

我不知道这是怎么可能的,如果是的话。在我看来,bash脚本在前一个命令停止之前不能运行下一个命令,但除非我停止,否则前面的命令不能停止。似乎是鸡与蛋的问题,但我希望有人已经找到了一个方法,使类似的工作。提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-09 19:32:47

在码头运行时使用-d选项

sudo docker run -d --name $1 -i -p $2 -t $3

-d, --detach => Run container in background and print container ID

当你完成时,杀死康塔纳

docker kill $1

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

https://stackoverflow.com/questions/41067214

复制
相关文章

相似问题

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