使用Docker Compose时如何始终拉取最新Memgraph Docker镜像?
问题描述
上周得知Memgraph 2.16版本已发布,但使用以下docker-compose.yml文件启动后,运行的仍是Memgraph 2.15.2版本:
version: "3" services: memgraph: image: memgraph/memgraph-mage:latest container_name: memgraph-mage ports: - "7687:7687" - "7444:7444" command: ["--log-level=TRACE"] lab: image: memgraph/lab:latest container_name: memgraph-lab ports: - "3000:3000" depends_on: - memgraph environment: - QUICK_CONNECT_MG_HOST=memgraph - QUICK_CONNECT_MG_PORT=7687
排查后发现本地已存在标记为latest的2.15.2版本Docker镜像,删除该镜像后重新运行docker compose就能获取2.16版本。现在需要在docker-compose.yml中添加配置,实现始终从Docker Hub拉取latest镜像,达到等效于docker run --pull=always的效果。
解决方案
在docker-compose.yml的每个服务下添加pull_policy: always配置,即可让Docker Compose始终尝试从远程仓库拉取最新镜像,而非使用本地已有的同名镜像。
修改后的完整配置如下:
version: "3" services: memgraph: image: memgraph/memgraph-mage:latest container_name: memgraph-mage pull_policy: always ports: - "7687:7687" - "7444:7444" command: ["--log-level=TRACE"] lab: image: memgraph/lab:latest container_name: memgraph-lab pull_policy: always ports: - "3000:3000" depends_on: - memgraph environment: - QUICK_CONNECT_MG_HOST=memgraph - QUICK_CONNECT_MG_PORT=7687
该配置会让每个服务在启动前自动检查远程仓库的最新镜像,确保使用Docker Hub上最新的latest版本,无需手动删除本地旧镜像。
内容的提问来源于stack exchange,提问作者KernLot
相关产品推荐
相关产品推荐

