Docker:与容器创建后执行的命令分离

时间:2018-11-11 21:46:12

标签: node.js shell docker npm

我在run.sh文件中有一个带有以下内容的dockerized nodejs应用程序-

#!/bin/bash
docker run -ti --rm -v $PWD:/app -p 8080:8080 foo
docker exec uod npm run gulp start-live

这将启动我的应用程序并运行gulp脚本。我在package.json中将“ gulp”定义为脚本。 (旧项目,所以仍然使用gulp:/)

唯一的问题是我无法使用ctrl + p + q从docker分离

如果我改为将运行命令移至Dockerfile-

CMD ["npm", "run", "gulp", "start-live"]

这做同样的事情,但是我可以在容器运行后从容器中分离出来。

我可以在运行文件中做什么不同的操作,以便能够从那里运行命令并可以分离?

1 个答案:

答案 0 :(得分:0)

我要做的就是在docker run结束时标记命令...

#!/bin/bash
docker run -ti --rm -v $PWD:/app -p 8080:8080 foo npm run gulp start-live