我想设置一个 cron job 在 docker 容器内运行一组命令,然后将更改提交到 docker 镜像。我能够使用以下命令作为守护进程运行容器并获取容器 ID:
``` CONTAINER_ID=$(sudo docker run -d my-image /bin/sh -c "sleep 10") ```
但是我在第二部分 - 提交更改到镜像方面遇到了问题。有没有办法告诉我何时 docker 容器即将被杀死,并在其之前运行另一个命令?
编辑:作为替代方案,是否有办法通过容器内的 shell 脚本触发 `ctrl-p-q` 进入宿主机而不终止容器?
``` CONTAINER_ID=$(sudo docker run -d my-image /bin/sh -c "sleep 10") ```
但是我在第二部分 - 提交更改到镜像方面遇到了问题。有没有办法告诉我何时 docker 容器即将被杀死,并在其之前运行另一个命令?
编辑:作为替代方案,是否有办法通过容器内的 shell 脚本触发 `ctrl-p-q` 进入宿主机而不终止容器?
docker ps -a
的输出,因此从进程中将其输出似乎是可行的:docker run -i -t ubuntu:14.04 /bin/bash -c echo "MY_CONTAINER_ID=$HOSTNAME'"
。然后,我只需使用grep '^MY_CONTAINER_ID='
来获取我要提交的容器 ID(可能与之匹配,也可能不匹配)。 - Daniel Santos