首页 > 解决方案 > 可以让多个 docker-compose 服务使用相同的图像吗?

问题描述

我在 docker-compose 文件中运行了一些服务,例如 2 个 nginx 服务和 2 个共享同一映像的节点服务。

我注意到(越来越频繁地)当尝试执行到共享图像的那些容器之一时,我收到以下错误...

$ docker exec -it node_one bash 
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory`

我可能完全不合时宜,但这可能是由于他们共享图像和/或卷的事实造成的吗?

我的理解是,每个容器本质上都会创建该图像的一个新的(完全独立的)实例来运行每个容器。这是对还是错?

working_dir物业会造成这种情况吗?任何和所有的指针将不胜感激!

谢谢

例子

version: '3'

services:
  node_one:
    image: node:latest
    working_dir: /var/www/app
    volumes:
      - ./.docker/src/app:/var/www/src

  node_two:
    image: node:latest
    working_dir: /var/www/app
    volumes:
      - ./.docker/src/app:/var/www/src

  nginx_one:
    image: nginx:latest
    working_dir: /etc/nginx
    volumes:
      - ./.docker/src/app:/var/www/src

  nginx_two:
    image: nginx:latest
    working_dir: /etc/nginx
    volumes:
      - ./.docker/src/app:/var/www/src

标签: dockerdocker-compose

解决方案


推荐阅读