একাধিক সার্ভিস সহ ডকার-রচনা


103

এটি একটি সহজ প্রশ্ন! উত্পাদনে এটি কখনও করবেন না। আলাদা এনজিএনএক্স / পিএইচপি / পৃথক কন্টেইনারগুলিতে অন্যান্য পরিষেবাগুলি!

আমি যখন docker-compose upউবুন্টু শুরু করি তখন ধারকটি বের হয় ubuntu exited with code 0

আমি যখন দৌড়ে যাই docker run -d -ti -p 80:80 -v ~/sph/laravel52:/www/laravel ubuntu, সব ঠিকঠাক কাজ করে।

আমি কীভাবে ডকার রচনাটি ব্যবহার করে এই আচরণটির প্রতিলিপি করতে পারি?

এটি আমার Dockerfile:

# Version: 0.0.1
FROM ubuntu:15.04



ENV DEBIAN_FRONTEND noninteractive

#INSTALL ALL
RUN apt-get update && apt-get install -y  \
       nano \
       php5-fpm \
       php5-mysql \
       nginx



#NGINX CONF
ADD nginx/sites-available/laravel.conf /etc/nginx/sites-available/
RUN rm /etc/nginx/sites-available/default
RUN mv /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-available/default

VOLUME /www


ENTRYPOINT nginx && service php5-fpm start && /bin/bash

CMD ["true"]


EXPOSE 80

এবং docker-compose.yml:

version: '2'
services:
  ubuntu:
        build: .
        container_name: ubuntu
        volumes:
            - ~/sph/laravel52:/www/laravel
        ports:
          - "80:80"

আমি বুঝতে পারি আপনি এটি উদ্দেশ্যমূলকভাবে করতে পারেন ENTRYPOINT nginx && service php5-fpm start && /bin/bash। তবে আপনি যদি এই সিদ্ধান্তটির অর্থ বুঝতে না পারেন তবে আপনি নীচের github.com/phusion/baseimage- ডকার
ড্যানিয়েল স্টেফানিয়ুক

আইএমজি নাম। আমার ত্রুটি উবুন্টু
টিম ডিভলেট

উত্তর:


236

জিনিসটি আপনি -tনিজের ধারকটি চালানোর সময় বিকল্পটি ব্যবহার করছেন ।

আপনি না পরীক্ষা পারে সক্রিয় ttyবিকল্প (দেখুন রেফারেন্স আপনার Docker-compose.yml ফাইলে) ধারক চলমান রাখে?

version: '2'
services:
  ubuntu:
        build: .
        container_name: ubuntu
        volumes:
            - ~/sph/laravel52:/www/laravel
        ports:
          - "80:80"
        tty: true

4
আপনি একটি ত্রুটি বার্তা পেয়েছেন: ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.যোগ করার পরে tty: true?
শীতকাল

1
tty কাজ করে কারণ এটি একটি সিডো টার্মিনাল তৈরি করে। এসকিউএল সার্ভার 2017 ধারক নিয়ে আমার একই সমস্যা ছিল। এটি স্বতন্ত্র মোডে দুর্দান্ত চলছিল তবে মাল্টি-কনটেইনার দৃশ্যের জন্য ডকার-রচনা মোডে বেরিয়ে আসছিল। এটিকে আমি সংশোধন করার জন্য টিটিআইয়ের
নিলেশ গুলে

@ নীলেশগুলে টিটিটি কেন কাজ করে তা ব্যাখ্যা করার জন্য আপনার সময়টির জন্য ধন্যবাদ, তবে আপনি কিছু মনে করেন না, তবে আমি আরও কিছুটা জানতে চাই। সঠিকভাবে সিউডো টার্মিনাল তৈরি করা কীভাবে বেরিয়ে আসা থেকে রোধ করবে? আবার ধন্যবাদ.
লুইস মিলানিজ

3
@ লুইসমিলানিজ সাধারণত যখন অগ্রভাগ প্রক্রিয়া ডকারের ধারক মধ্যে সম্পূর্ণ হয়, তখন ধরে নেওয়া হয় যে কাজটি সম্পন্ন হয়েছে এবং ধারক দৃষ্টান্তটি সাফ করে। তবে ডাটাবেস ইঞ্জিন এবং ওয়েব সার্ভারের মতো জিনিসগুলির চলমান চালিয়ে যাওয়া প্রয়োজন। সিউডো টার্মিনাল তৈরি করে ধারকটি জীবিত থাকে। ডকার লগ << ধারকের নাম >> কমান্ডটি tty ছাড়া এবং ছাড়া চালিয়ে আপনি এই ওয়ার্কফ্লোটি দেখতে পাবেন
নিলেশ গুল

tty আমার জন্য কাজ করছে না .. আমি ডকার-রচনার "3" সংস্করণটি ব্যবহার করছি
সঞ্জয় সালুঙ্কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.