2016-02-14 21 views
5

Tôi đang gặp một vấn đề khi cố gắng bắt đầu nhiều container với Docker-soạn:Issue với Docker soạn: lệnh chứa không tìm thấy

Dockerfile:

FROM nginx:1.9 
ADD ./nginx-sites/default /etc/nginx/sites-available/default 

Docker-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 

Khi tôi sử dụng docker-compose up để khởi động ứng dụng, tôi nhận được lỗi sau:

ERROR: Container command not found or does not exist. 

Sẽ yêu một số trợ giúp về vấn đề này.

+0

Tôi chỉ mới bắt đầu xem xét vấn đề này khi tôi gặp vấn đề tương tự. Nếu bạn loại bỏ phần khối lượng từ dịch vụ fpm của bạn, nó có khởi động không? (rõ ràng là không có các tệp có thể truy cập vào php-fpm, nhưng chỉ vì lợi ích) – TomLingham

+0

vâng. mà không có phần khối lượng dưới fpm, nó khởi động bình thường. –

+1

thực sự nếu tôi đặt âm lượng là "./src:/var/www/html" (đối với cả dịch vụ web và fpm), ứng dụng sẽ bắt đầu, nhưng tôi không thể truy cập bất kỳ thứ gì qua localhost. –

Trả lời

12

Giống như được đề cập trong phần nhận xét cho câu hỏi ban đầu, hình ảnh php: fpm yêu cầu đặt âm lượng là /var/www/html.

Nếu bạn muốn sử dụng một thư mục khác, bạn có thể làm việc xung quanh bằng cách sử dụng Dockerfile của riêng bạn (dựa trên php: fpm). Điều đó Dockerfile muốn điều này:

FROM php:fpm 

WORKDIR /var/www 

Có vẻ như thiết lập workdir cho thư mục bạn muốn thực hiện thủ thuật.

Sau đó, trong docker-compose.yml bạn sẽ xây dựng với Dockerfile đó thay vì sử dụng hình ảnh php: fpm trực tiếp.

version: "2" 
services: 
    # ... 
    fpm: 
    build: ./path/to/dockerfile 
    volumes: 
     - ./src:/var/www 
+0

Đây phải là câu trả lời đúng! Câu trả lời được đánh dấu hiện tại là không có thật. – uptownhr

Các vấn đề liên quan