Docker volume_from无法正常工作

时间:2019-02-27 02:50:28

标签: docker docker-compose dockerfile

您好,我在docker-compose文件的volume_from中遇到问题。 -我有3个服务,第一个服务有我的应用程序文件,第二个是php-fpm,它从数据服务中获取流量。 我的文件就是这样。

version: '2'

services:
  cms_data:
    image: ""image from private repository contain application file"
    container_name: "cms-data"

  php-fpm:
    image: "image from private repository contain php configuration"
    container_name: "php-fpm"
    env_file:
      - ../.env.production
    volumes_from:
      - cms_data
    working_dir: /iprice/octobercms
    expose:
      - 9000
    depends_on:
      - cms_data
    restart: "always"

  nginx:
    image: "image from private repository contain nginx configuration"
    container_name: "nginx"
    ports:
      - "80:80"
      - "443:443"
    links:
      - php-fpm
    volumes_from:
      - cms_data
    depends_on:
      - cms_data
    restart: "always"

cms数据图像包含正确的文件。 但是php-fpm容器不能帮助您。

1 个答案:

答案 0 :(得分:0)

volumes_from挂载其他容器上存在的卷。它不会创建新卷。

cms-data容器没有任何与之关联的卷。因此volumes_from无法做任何事情。如果要共享cms-data内的特定文件夹,请首先创建一个链接该文件夹的卷。

注意:创建卷将使用/path/on/host文件夹覆盖内部容器的内容。因此,首先将容器文件夹的内容复制到该主机文件夹。

  1. 按原样运行当前的docker-compose,以便容器启动。
  2. 将内容从cms-data容器复制到主机文件夹:

    docker cp:/ path / to / shared / folder / path / on / host

  3. 对docker-compose文件进行以下更改,然后重新启动。

    services:
      cms_data:
        image: ""image from private repository contain application file"
        container_name: "cms-data"
        volumes:
          - /path/on/host:/path/to/shared/folder
    
        ...