如何在退出Docker容器时继续运行脚本
我的脚本如下:
# start a ubuntu container in the background docker run -it --name ub -d ubuntu /bin/bash sleep 1 # run a command in the container docker exec -it ub bash echo 234 # exit the container exit sleep 1 # do something else echo 123
但脚本会在exit
后立即exit
并挂在那里。 有谁知道这是为什么?
ps:我的Docker版本是:17.03.0-ce,build 60ccb22
在运行命令中你已经给出了。 打开容器的/bin/bash
并在那里等待。 下一个命令不会执行,直到第一个命令执行完成。
最好在创build一个脚本文件的同时将其移动到容器中。 并在启动泊坞窗时运行脚本。 您可以指定在docker文件中使用CMD
。
您将不需要额外的执行命令。
相应的Dockerfile将会是
FROM ubuntu:latest COPY <path-to-script> <dest> CMD [" <path-to-script> "]
您必须与Dockerfile一起创build脚本文件。 使用该命令构builddocker
docker build -t <image-name> <location of Dockerfile>
执行命令是
docker run -d --name <name> -d ubuntu <path-to-script>