如何在退出docker容器时继续运行脚本
我的脚本如下:如何在退出docker容器时继续运行脚本,docker,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 但是脚本将在退出后立即
# 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
但是脚本将在退出后立即停止并挂起。有人知道为什么吗
p、 s:My Docker版本是:17.03.0-ce,build 60ccb22您在run命令期间给出了
-it
。它打开容器的/bin/bash
,并在那里等待。在第一个命令执行完成之前,不会执行下一个命令
最好创建一个脚本文件,并在创建docker时将其移动到容器中。并在启动docker时运行脚本。您可以在docker文件中指定使用CMD
您不需要额外的exec命令
相应的Dockerfile将是
FROM ubuntu:latest
COPY <path-to-script> <dest>
CMD [" <path-to-script> "]
来自ubuntu的最新版本
复制
CMD[“”]
您必须与Dockerfile一起创建脚本文件。使用命令生成docker
docker build -t <image-name> <location of Dockerfile>
docker构建-t
执行命令将是
docker run -d --name <name> -d ubuntu <path-to-script>
docker run-d--name-d ubuntu
在run命令期间,您已经给出了-it
。它打开容器的/bin/bash
,并在那里等待。在第一个命令执行完成之前,不会执行下一个命令
最好创建一个脚本文件,并在创建docker时将其移动到容器中。并在启动docker时运行脚本。您可以在docker文件中指定使用CMD
您不需要额外的exec命令
相应的Dockerfile将是
FROM ubuntu:latest
COPY <path-to-script> <dest>
CMD [" <path-to-script> "]
来自ubuntu的最新版本
复制
CMD[“”]
您必须与Dockerfile一起创建脚本文件。使用命令生成docker
docker build -t <image-name> <location of Dockerfile>
docker构建-t
执行命令将是
docker run -d --name <name> -d ubuntu <path-to-script>
docker run-d--name-d ubuntu
我想要运行的实际映像是mongo()。如果我将其用作基本映像,我甚至无法运行bash脚本,即使我想这样做。您需要使用相应的脚本文件构建自定义Docker映像。您不应该将其作为bash脚本运行和执行。mongo的Dockerfile在这里可用。您可以编辑它并创建自定义docker。同意上述方法,并希望再添加一点。为了保持容器的运行,必须有一个持续运行的进程。在脚本末尾添加以下行。虽然真实;在后台做点什么&我明白了。好的,让我这样试试。我想要运行的实际映像是mongo()。如果我将其用作基本映像,我甚至无法运行bash脚本,即使我想这样做。您需要使用相应的脚本文件构建自定义Docker映像。您不应该将其作为bash脚本运行和执行。mongo的Dockerfile在这里可用。您可以编辑它并创建自定义docker。同意上述方法,并希望再添加一点。为了保持容器的运行,必须有一个持续运行的进程。在脚本末尾添加以下行。虽然真实;在后台做点什么&我明白了。好吧,那我就这样试试。