如何在退出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>