我正在尝试导出一个容器,导入它然后运行它。但是,CMD/ENTRYPOINT
在 dockerfile 中没有在导入的容器上执行。
构建映像时,如何执行 Dockerfile 中指定的相同命令?我知道可以指定它,docker run image <cmd>
但是CMD/ENTRYPOINT
在导出/导入过程中丢失了怎么办?而且,有没有更好的方法来导入/导出容器?
这是码头文件:
FROM python:3-alpine
WORKDIR app
ADD ./app.py .
ADD ./requirements.txt .
RUN pip3 install -r requirements.txt
CMD ["python3", "app.py"]
并且命令连续运行:
docker build . -t python-app
docker run --name app-container python-app
docker export app-container > app-container.tar
docker import app-container.tar "import-container:latest"
docker run --name import import-container:latest
# docker: Error response from daemon: No command specified.
docker export
导出容器的文件系统,而不是图像。这就是不导出 CMD 和 ENTRYPOINT 的原因。
如果你想从一个图像生成一个 tar 文件,你应该使用docker save
anddocker load
而不是docker export
and docker import
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句