我有一个 dockerfile
FROM python:3
WORKDIR /app
ADD ./venv ./venv
ADD ./data/file1.csv.gz ./data/file1.csv.gz
ADD ./data/file2.csv.gz ./data/file2.csv.gz
ADD ./requirements.txt ./venv/requirements.txt
WORKDIR /app/venv
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python", "./src/script.py", "/app/data/file1.csv.gz", "/app/data/file2.csv.gz"]
从它构建图像并运行它后,该图像按预期运行应用程序,但容器在完成后立即关闭。这绝对是有问题的,因为我无法期望输出文件。
我尝试过使用docker run -d -t <imgname>
and docker ps
显示应用程序几秒钟,但一旦完成该过程,容器就会自行关闭。
所以即使使用也无法访问docker exec <imgid> -it --entrypoint /bin/bash
,它立即退出。
我也尝试过添加最后一个RUN /bin/bash
最后一次之后CMD
但这也没有帮助。
我实际上可以做什么才能登录容器并检查文件?
只要容器没有被删除,您就能够获取数据。您可以使用以下命令找到容器的名称docker ps -a
.
然后,如果您知道文件的位置,则可以使用以下命令将其复制到主机
docker cp <container name>:<file> .
或者,您可以将容器的内容提交到新映像并在其中运行 shell
docker commit <container name> newimagename
docker run --rm -it newimagename /bin/bash
然后您可以在容器中四处查看并找到您的文件。
不幸的是,无法再次启动容器并查看其中的情况。docker start
将启动容器,但将再次运行与您执行时相同的命令docker run
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)