ডকার রচনা, নেট মধ্যে পাত্রে চলমান: হোস্ট


109

আমি ডকার-কমপোজ ব্যবহার করে "হোস্ট" নেটটিতে 3 টি পরিষেবা স্প্যান করতে চাই। এখানে আমার ডকার-কমপোজ.আইএমএল ফাইলটি রয়েছে:

version: '2'
services:
  mysql:
    image: mysql
    net: "host"
  nginx:
    image: nginx
    net: "host"
  app:
    image: tomcat
    net: "host"

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

$ docker-compose up
[31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s):
Unsupported config option for services.app: 'net'
Unsupported config option for services.mysql: 'net'
Unsupported config option for services.nginx: 'net'

আমি উইন্ডোতে বুট 2 ডকার ব্যবহার করছি।

ডকার, এবং ডকার-রচনা সংস্করণ:

$ docker -v
Docker version 1.10.2, build c3959b1
$ docker-compose -version
docker-compose version 1.6.0, build cdb920a

আমি যদি সমস্ত পরিষেবা ব্যবহার করে ম্যানুয়ালি সমস্ত পরিষেবা পরিচালনা করি তবে তা docker run --net = "host"ঠিকঠাক কাজ করছে।

ডকুমেন্টেশনে আমি পড়েছি যে নেট কমান্ডটি ডকার-রচনায় সমর্থিত :

নেট

নেটওয়ার্কিং মোড। ডকার ক্লায়েন্ট - নেট প্যারামিটারের মতো একই মানগুলি ব্যবহার করুন।

নেট: "সেতু"

নেট: "কিছুই না"

নেট: "ধারক: [নাম বা আইডি]"

নেট: "হোস্ট"

https://docs.docker.com/v1.6/compose/yml/#net

আমি কি ভুল করছি?


@ অ্যান্ডি-শিনের উত্তরের ভিত্তিতে আপডেট করুন, প্যারামিটারটি বলা হয় network_mode: "host"। যেমন ডকার রচনা সংস্করণ 3 # নেট ওয়ার্ক_মোডে নথিভুক্ত
পল রউগিয়াক্স

উত্তর:


107

সেই নথিগুলি পুরানো। আমি অনুমান করছি যে URL এ থাকা 1.6 ডকার 1.6 এর জন্য, রচনা 1.6 নয়। এখানে সঠিক বাক্য গঠন দেখুন: https://docs.docker.com/compose/compose-file/#network_modenetwork_modeভি 2 ওয়াইএএমএল ফর্ম্যাটটি ব্যবহার করার সময় আপনি সন্ধান করছেন ।


এটি সত্যিই বিভ্রান্তিকর ... আমি এখনই ডকুমেন্টেশন লিঙ্কটি বুকমার্ক করব। নেটওয়ার্ক_মোড ঠিকঠাক কাজ করছে ধন্যবাদ!
বেনোইট বিক্রমারচি

আমি যেমন বুঝতে পেরেছি, আমি নেটওয়ার্ক_মোড: পরিষেবাতে "হোস্ট" ব্যবহার করব?
তারাস ভাস্কিভ

29
নোট করুন যে network_mode: hostম্যাকের জন্য
ডকারে

4
@ ফ্লাভিয়েন ভলকেন ম্যাক-তে একটি সমাধান হ'স্ট আইপি স্পষ্টভাবে ব্যবহার করা। আপনি ব্যবহার করতে পারেন এমন কয়েকটি বিশেষ হোস্টনাম রয়েছে যা এটিতে নির্দেশ করে (ডকার_হোস্ট_ডোমেন বা এর মতো কিছু, আমি ভুলে যাই)।
oooyaya

75

শুধু মুদ্রণ

network_mode: "host"


'নেটওয়ার্ক_মোড' এবং 'নেটওয়ার্ক' একত্রিত করা যায় না। আপনার যদি ইতিমধ্যে নেটওয়ার্ক রয়েছে - এটি কাজ করবে না।
অ্যালেক্স এফিমভ

4
network_mode: hostম্যাকের জন্য ডকারে কাজ করবে না
ভ্যালি

37

আপনি কেবল যোগ করার চেষ্টা করতে পারেন

network_mode: "host"

উদাহরণ:

version: '2'
services:
  feedx:
    build: web
    ports:
    - "127.0.0.1:8000:8000"
    network_mode: "host"

তালিকা বিকল্প উপলব্ধ

network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

https://docs.docker.com/compose/compose-file/#network_mode


এক্ষেত্রে কি বন্দরের ফরোয়ার্ডিং উপেক্ষা করা হচ্ছে?
toing_toing

3

আমি খুব দেরীতে উত্তর দিচ্ছি। তবে ডকার রচনায় হোস্ট নেটওয়ার্ক কনফিগার করতে আমারও সমস্যা ছিল। তারপরে আমি ডকুমেন্টেশন পুরোপুরি পড়েছি এবং পরিবর্তনগুলি করেছি এবং এটি কার্যকর হয়েছে। দয়া করে নোট করুন যে এই কনফিগারেশনটি ডকার-রচনা সংস্করণ "3.7" এর জন্য। এখানে einwohner_net এবং elk_net_net আমার অ্যাপ্লিকেশনটির জন্য প্রয়োজনীয় আমার ব্যবহারকারী-সংজ্ঞায়িত নেটওয়ার্ক। আমি কিছু সিস্টেম মেট্রিক পেতে হোস্ট নেট ব্যবহার করছি।

ডকুমেন্টেশনের লিঙ্ক https://docs.docker.com/compose/compose-file/#host-or-none

version: '3.7'
services:
  app:
    image: ramansharma/einwohnertomcat:v0.0.1
    deploy:
      replicas: 1
      ports:
       - '8080:8080'
    volumes:
     - type: bind
       source: /proc
       target: /hostfs/proc
       read_only: true
     - type: bind
       source: /sys/fs/cgroup
       target: /hostfs/sys/fs/cgroup
       read_only: true
     - type: bind
       source: /
       target: /hostfs
       read_only: true
    networks:
     hostnet: {}
    networks:
     - einwohner_net
     - elk_elk_net
networks:
 einwohner_net:
 elk_elk_net:
   external: true
 hostnet:
   external: true
   name: host

4
> যদি আপনি ডকার স্ট্যাক কমান্ড ব্যবহার করেন তবে কেবলমাত্র ব্যবহৃত হবে। আপনি যদি ডকার-কমপোজ কমান্ডটি ব্যবহার করেন তবে পরিবর্তে নেটওয়ার্ক_মোড ব্যবহার করুন।
thisismydesign

-11

পরিষেবাদিগুলির জন্য সতর্কতা কনফিগার বিকল্পটি মুছুন app অ্যাপ: 'নেট', এটি কাজ করতে পারে।

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