Dockerfile 入口点/cmd 未在容器导入时执行

拉苏克

我正在尝试导出一个容器,导入它然后运行它。但是,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 saveanddocker load而不是docker exportand docker import

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章