2016-02-14 11 views
5

मैं जब डोकर-लिखें सुविधा के साथ कई कंटेनरों शुरू करने की कोशिश समस्या हो रही है:मुद्दा: कंटेनर आदेश नहीं मिला

Dockerfile:

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

डोकर-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 

जब मैं docker-compose up का उपयोग आवेदन शुरू करने के लिए, मैं निम्नलिखित त्रुटि मिलती है:

ERROR: Container command not found or does not exist. 

इस मुद्दे के साथ कुछ मदद से प्यार होगा।

+0

मैंने अभी इसे देखना शुरू कर दिया क्योंकि मुझे एक ही समस्या थी। यदि आप अपनी एफपीएम सेवा से वॉल्यूम सेक्शन हटाते हैं तो क्या यह शुरू होता है? (स्पष्ट रूप से php-fpm तक पहुंच योग्य फ़ाइलों के बिना, लेकिन केवल रुचियों के लिए) – TomLingham

+0

हाँ। एफपीएम के तहत वॉल्यूम सेक्शन के बिना, यह सामान्य रूप से शुरू होता है। –

+1

असल में यदि मैं वॉल्यूम्स को "./src:/var/www/html" (वेब ​​और एफपीएम सेवाओं दोनों के लिए) के रूप में सेट करता हूं, तो एप्लिकेशन प्रारंभ होता है, लेकिन मैं लोकहोस्ट पर कुछ भी एक्सेस नहीं कर पा रहा हूं। –

उत्तर

12

मूल प्रश्न पर टिप्पणियों में उल्लिखित php: fpm छवि को इसकी मात्रा को /var/www/html पर सेट करने की आवश्यकता है।

यदि आप एक अलग डीआईआर का उपयोग करना चाहते हैं तो आप अपने डॉकरफाइल (php: fpm पर आधारित) का उपयोग कर इसके आसपास काम कर सकते हैं। यही कारण है कि Dockerfile इस चाहते हैं:

FROM php:fpm 

WORKDIR /var/www 

यह चाल है वांछित निर्देशिका के लिए workdir की स्थापना की तरह लगता है।

फिर अपने docker-compose.yml में आप सीधे php: fpm छवि का उपयोग करने के बजाय उस डॉकरफ़ाइल के साथ निर्माण करेंगे।

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

यह सही जवाब होना चाहिए! वर्तमान चिह्नित उत्तर फर्जी है। – uptownhr

संबंधित मुद्दे