docker-compose 运行不是最后一个图像

标签 docker docker-compose

当我跑

docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml up -d --force-recreate

我没有最后一张图片 - 似乎这是第一次运行时的一些缓存图片。
但是我通过名称从 docker 运行这个图像,比如docker run -it repo_url/image_name- 一切都好。
我已经尝试了所有主题
How to get docker-compose to always re-create containers from fresh images?
我也尝试通过 docker rmi image_name 删除此图像,但对我没有任何帮助。它可以是什么?

最佳答案

怎么了

Dockerfile

FROM httpd:latest
COPY index.html /var/www/html/
  • 你用一个卷运行它:docker run -v my-data:/var/www/html/由于此卷尚不存在,因此已创建它并且/var/www/html 的内容来自当前图片 被复制到其中。
  • 然后您更改文件 index.html 并重建您的图像。现在创建了一个新图像。
  • 您使用相同的命令运行它。卷 my-data 存在,所以/var/www/html 的内容来自 这张新图片 您刚刚创建的遗嘱 不是 被复制到卷中。
  • 因此,当您访问首页时,您将看到旧文件。
  • 关于docker-compose 运行不是最后一个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41219405/

    相关文章:

    docker --insecure-registry 标志未按预期工作

    node.js - Bcrypt:带有 Docker 和 Sails.JS 的无效 ELF header

    node.js - Knex 迁移不创建表

    api - 将Dockerfile与docker-compose和vcs结合使用的最佳实践

    docker - 容器变换给出缺少图像参数错误

    docker - 如何维护 Dockerfile 中使用的 secret ?

    docker - 使用docker-compose进行构建时消除docker <none>镜像

    git - 如何通过 Docker secret 共享 SSH key 以访问私有(private) Github 存储库?

    visual-studio - 找不到docker容器

    docker提交更改,但启动错误