docker compose问题:找不到容器命令

dev*_*rsb 5 php nginx docker dockerfile docker-compose

尝试使用docker-compose启动多个容器时遇到问题:

Dockerfile:

FROM nginx:1.9
ADD ./nginx-sites/default /etc/nginx/sites-available/default
Run Code Online (Sandbox Code Playgroud)

泊坞窗,compose.yml:

version: "2"
services:
  web:
    build: .
    ports:
      - "80:80"
    volumes:
      - ./src:/var/www
    links:
      - fpm
  fpm:
    image: php:7-fpm
    volumes:
      - ./src:/var/www
Run Code Online (Sandbox Code Playgroud)

当我docker-compose up用来启动应用程序时,我收到以下错误:

ERROR: Container command not found or does not exist.
Run Code Online (Sandbox Code Playgroud)

会喜欢这个问题的一些帮助.

Ale*_*nck 12

就像在原始问题的评论中提到的那样,php:fpm图像需要将其音量设置为/var/www/html.

如果你想使用不同的目录,你可以使用自己的Dockerfile(基于php:fpm)解决这个问题.这Dockerfile就是这样的:

FROM php:fpm

WORKDIR /var/www
Run Code Online (Sandbox Code Playgroud)

似乎将workdir设置为所需的目录就可以了.

然后在你docker-compose.yml的使用Dockerfile构建,而不是直接使用php:fpm图像.

version: "2"
services:
  # ...
  fpm:
    build: ./path/to/dockerfile
    volumes:
      - ./src:/var/www
Run Code Online (Sandbox Code Playgroud)