gpt4 book ai didi

docker - 在没有原始 Dockerfile 的情况下更新 docker 镜像

转载 作者:行者123 更新时间:2023-12-02 18:48:27 26 4
gpt4 key购买 nike

我正在开发在 ec2 服务器上运行的 docker 镜像中的 Flask 应用程序。

旧的开发人员似乎已经删除了原始的 Dockerfile,而且我似乎找不到任何说明如何在没有原始文件的情况下将我的更改推送到 docker 镜像。

我可以使用以下方式手动复制我的更改:

docker cp newChanges.py doc:/root/doc/server_python/

但我似乎找不到重启 flask 的方法。我知道这不是理想的解决方案,但这是我唯一的想法。

最佳答案

有一种方法可以将 newChanges.py 添加到现有图像并使用新标签提交该图像,因此如果您遇到任何问题,您将有一个回退选项。

假设您运行 alpine 官方镜像并且您没有 DockerFile

每次重新启动图像时,您都不会拥有 newChanges.py

docker run --rm -name alpine alpine

在图像中使用 ls 查看在 Dockerfile 中创建的现有文件列表。

docker cp newChanges.py alpine:/

运行 ls 并验证您的文件是否已复制

下一步

要将这些更改提交到正在运行的容器,请执行以下操作:

Docker ps

获取容器ID并运行:

docker commit 4efdd58eea8a updated_alpine_image

现在运行您的 alpine 图像,您将看到更新后的变化,正如假设的那样

docker run -it updated_alpine_image

这就是您将在具有 DockerFile 的 update_alpine_image 中看到的内容 enter image description here

这是从现有图像重建图像的方法。您也可以尝试@uncletall 的回答。

关于docker - 在没有原始 Dockerfile 的情况下更新 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52415858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com