Docker Networking - nginx: ไม่พบโฮสต์ [Emerg] ในอัปสตรีม


99

ฉันเพิ่งเริ่มย้ายไปยังคุณสมบัติระบบเครือข่ายของ Docker 1.9 และ Docker-Compose 1.5 เพื่อแทนที่โดยใช้ลิงก์

จนถึงตอนนี้การเชื่อมโยงไม่มีปัญหากับ nginx ที่เชื่อมต่อกับเซิร์ฟเวอร์ fastcgi php5-fpm ของฉันที่อยู่ในเซิร์ฟเวอร์อื่นในกลุ่มเดียวผ่านทางนักเทียบท่า ใหม่แม้ว่าเมื่อฉันรันdocker-compose --x-networking upphp-fpm คอนเทนเนอร์ mongo และ nginx จะบูตขึ้นมา แต่ nginx จะออกทันทีด้วย[emerg] 1#1: host not found in upstream "waapi_php_1" in /etc/nginx/conf.d/default.conf:16

อย่างไรก็ตามหากฉันเรียกใช้คำสั่ง docker-compose อีกครั้งในขณะที่ php และ mongo container กำลังทำงานอยู่ (nginx ออก) nginx จะเริ่มทำงานและทำงานได้ดีนับจากนั้นเป็นต้นไป

นี่คือdocker-compose.ymlไฟล์ของฉัน:

nginx:
  image: nginx
  ports:
    - "42080:80"
  volumes:
    - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro

php:
  build: config/docker/php
  ports:
    - "42022:22"
  volumes:
    - .:/var/www/html
  env_file: config/docker/php/.env.development

mongo:
  image: mongo
  ports:
    - "42017:27017"
  volumes:
    - /var/mongodata/wa-api:/data/db
  command: --smallfiles

นี่คือของฉันdefault.confสำหรับ nginx:

server {
    listen  80;

    root /var/www/test;

    error_log /dev/stdout debug;
    access_log /dev/stdout;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/.+\.php(/|$) {
        # Referencing the php service host (Docker)
        fastcgi_pass waapi_php_1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # We must reference the document_root of the external server ourselves here.
        fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name;

        fastcgi_param HTTPS off;
    }
}

ฉันจะทำให้ nginx ทำงานร่วมกับการเรียกใช้นักเทียบท่าเพียงเครื่องเดียวได้อย่างไร


3
ฉันกำลังเจอสิ่งนี้เช่นกัน ฉันไม่แน่ใจว่าเป็นข้อผิดพลาดกับไฟล์เขียนหรือข้อผิดพลาดของระบบเครือข่ายนักเทียบท่าเอง
jrdn

คำตอบ:


26

มีความเป็นไปได้ที่จะใช้ "volumes_from" เป็นวิธีแก้ปัญหาจนกว่าจะมีการแนะนำคุณลักษณะขึ้นอยู่กับ (อธิบายด้านล่าง) สิ่งที่คุณต้องทำคือเปลี่ยนไฟล์ Docker-compose ของคุณดังนี้:

nginx:
  image: nginx
  ports:
    - "42080:80"
  volumes:
    - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
  volumes_from:
    - php

php:
  build: config/docker/php
  ports:
    - "42022:22"
  volumes:
    - .:/var/www/html
  env_file: config/docker/php/.env.development

mongo:
  image: mongo
  ports:
    - "42017:27017"
  volumes:
    - /var/mongodata/wa-api:/data/db
  command: --smallfiles

ข้อแม้ที่สำคัญอย่างหนึ่งในแนวทางข้างต้นคือปริมาณของ php สัมผัสกับ nginx ซึ่งไม่เป็นที่ต้องการ แต่ในขณะนี้นี่เป็นวิธีแก้ปัญหาเฉพาะสำหรับนักเทียบท่าที่สามารถใช้ได้

ขึ้นอยู่กับคุณลักษณะ นี้อาจเป็นคำตอบที่ล้ำยุค เนื่องจากยังไม่มีการใช้ฟังก์ชันใน Docker (ณ 1.9)

มีข้อเสนอที่จะแนะนำ "depend_on" ในคุณลักษณะระบบเครือข่ายใหม่ที่ Docker แนะนำ แต่มีการถกเถียงกันมาอย่างยาวนานเกี่ยวกับ @ https://github.com/docker/compose/issues/374เดียวกันดังนั้นเมื่อมีการใช้งานแล้วคุณสามารถใช้คุณลักษณะขึ้นอยู่กับการสั่งซื้อการเริ่มใช้งานคอนเทนเนอร์ได้ แต่ที่ สักครู่คุณจะต้องใช้สิ่งใดสิ่งหนึ่งต่อไปนี้:

  1. ทำให้ nginx ลองใหม่จนกว่าเซิร์ฟเวอร์ php จะทำงาน - ฉันต้องการอันนี้
  2. ใช้ volums_from วิธีแก้ปัญหาตามที่อธิบายไว้ข้างต้น - ฉันจะหลีกเลี่ยงการใช้สิ่งนี้เนื่องจากปริมาณการรั่วไหลลงในภาชนะที่ไม่จำเป็น

3
สิ่งนี้ไม่ได้แก้ไขให้ฉัน
Gijs

@Gijs ถ้าคุณสามารถโพสต์ได้ว่ากรณีของคุณคืออะไรและอะไรไม่ได้ผลใครบางคนสามารถช่วยได้
พรรณี

4
volumes_from เลิกใช้งานแล้ว
Roma Rush

ฉันพบปัญหาใน Azure App Service Docker Compose (ดูตัวอย่าง) ด้วยสิ่งนี้ ต้องตรวจสอบให้แน่ใจด้วยว่าสิ่งที่ links:ฉันรวมไว้ใน nginx นั้นใช้ชื่อเดียวกับตัวบริการเองเช่น- my-service:my-serviceหรือในตัวอย่าง- mongo:mongoนี้
greg

29

สิ่งนี้สามารถแก้ไขได้ด้วยdepends_onคำสั่งดังกล่าวเนื่องจากมีการใช้งานตอนนี้ (2016):

version: '2'
  services:
    nginx:
      image: nginx
      ports:
        - "42080:80"
      volumes:
        - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
      depends_on:
        - php

    php:
      build: config/docker/php
      ports:
        - "42022:22"
      volumes:
        - .:/var/www/html
      env_file: config/docker/php/.env.development
      depends_on:
        - mongo

    mongo:
      image: mongo
      ports:
        - "42017:27017"
      volumes:
        - /var/mongodata/wa-api:/data/db
      command: --smallfiles

ทดสอบสำเร็จด้วย:

$ docker-compose version
docker-compose version 1.8.0, build f3628c7

ค้นหารายละเอียดเพิ่มเติมได้ในเอกสาร

นอกจากนี้ยังมีบทความที่น่าสนใจสำหรับหัวข้อนี้: การควบคุมลำดับการเริ่มต้นในการเขียน


12

คุณสามารถตั้งค่าคำสั่ง max_fails และ fail_timeout ของ nginx เพื่อระบุว่า nginx ควรลองใช้จำนวน x ของการร้องขอการเชื่อมต่อไปยังคอนเทนเนอร์ก่อนที่จะล้มเหลวในการไม่พร้อมใช้งานเซิร์ฟเวอร์ต้นทาง

คุณสามารถปรับตัวเลขสองตัวนี้ตามโครงสร้างพื้นฐานและความเร็วที่การตั้งค่าทั้งหมดจะเกิดขึ้น คุณสามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับส่วนการตรวจสอบประสิทธิภาพการทำงานของ URL ด้านล่าง: http://nginx.org/th/docs/http/load_balancing.html

ต่อไปนี้เป็นข้อความที่ตัดตอนมาจากhttp://nginx.org/en/docs/http/ngx_http_upstream_module.html#server max_fails=number

ตั้งค่าจำนวนความพยายามที่ไม่สำเร็จในการสื่อสารกับเซิร์ฟเวอร์ที่ควรเกิดขึ้นในระยะเวลาที่กำหนดโดยพารามิเตอร์ fail_timeout เพื่อพิจารณาว่าเซิร์ฟเวอร์ไม่พร้อมใช้งานในช่วงเวลาหนึ่งที่กำหนดโดยพารามิเตอร์ fail_timeout ตามค่าเริ่มต้นจำนวนความพยายามที่ไม่สำเร็จจะถูกกำหนดเป็น 1 ค่าศูนย์ปิดใช้งานการบันทึกบัญชีของความพยายาม สิ่งที่ถือว่าเป็นความพยายามที่ไม่ประสบความสำเร็จถูกกำหนดโดยคำสั่ง proxy_next_upstream, fastcgi_next_upstream, uwsgi_next_upstream, scgi_next_upstream และ memcached_next_upstream

fail_timeout=time

กำหนดเวลาที่จำนวนความพยายามที่ไม่ประสบความสำเร็จในการสื่อสารกับเซิร์ฟเวอร์ควรเกิดขึ้นเพื่อพิจารณาว่าเซิร์ฟเวอร์ไม่พร้อมใช้งาน และช่วงเวลาดังกล่าวจะถือว่าเซิร์ฟเวอร์ไม่พร้อมใช้งาน โดยค่าเริ่มต้นพารามิเตอร์จะตั้งไว้ที่ 10 วินาที

เพื่อความแม่นยำไฟล์กำหนดค่า nginx ที่แก้ไขของคุณควรเป็นดังนี้ (สคริปต์นี้สมมติว่าคอนเทนเนอร์ทั้งหมดมีเวลาอย่างน้อย 25 วินาทีหากไม่เป็นเช่นนั้นโปรดเปลี่ยน fail_timeout หรือ max_fails ในส่วนต้นน้ำด้านล่าง): หมายเหตุ: ฉันไม่ได้ ทดสอบสคริปต์ด้วยตัวเองเพื่อที่คุณจะได้ลองดู!

upstream phpupstream {
   server waapi_php_1:9000 fail_timeout=5s max_fails=5;
}
server {
    listen  80;

    root /var/www/test;

    error_log /dev/stdout debug;
    access_log /dev/stdout;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/.+\.php(/|$) {
        # Referencing the php service host (Docker)
        fastcgi_pass phpupstream;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # We must reference the document_root of the external server ourselves here.
        fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name;

        fastcgi_param HTTPS off;
    }
}

นอกจากนี้ตามหมายเหตุต่อไปนี้จากนักเทียบท่า ( https://github.com/docker/docker.github.io/blob/master/compose/networking.md#update-containers ) จะเห็นได้ว่าลองใช้ตรรกะอีกครั้งเพื่อตรวจสอบ ความสมบูรณ์ของภาชนะอื่น ๆ ไม่ใช่ความรับผิดชอบของนักเทียบท่าและควรทำการตรวจสุขภาพด้วยตนเอง

กำลังอัปเดตคอนเทนเนอร์

หากคุณทำการเปลี่ยนแปลงการกำหนดค่าเป็นบริการและเรียกใช้ Docker-compose เพื่ออัปเดตคอนเทนเนอร์เก่าจะถูกลบออกและคอนเทนเนอร์ใหม่จะเข้าร่วมเครือข่ายภายใต้ที่อยู่ IP อื่น แต่เป็นชื่อเดียวกัน การเรียกใช้คอนเทนเนอร์จะสามารถค้นหาชื่อนั้นและเชื่อมต่อกับที่อยู่ใหม่ได้ แต่ที่อยู่เก่าจะหยุดทำงาน

หากภาชนะใดมีการเชื่อมต่อกับภาชนะเก่าภาชนะนั้นจะถูกปิด เป็นความรับผิดชอบของคอนเทนเนอร์ในการตรวจจับเงื่อนไขนี้ค้นหาชื่ออีกครั้งและเชื่อมต่อใหม่


3
วิธีนี้ใช้ไม่ได้ อ่านข้อแม้ในตอนท้ายของส่วนนี้ในเอกสาร nginx: "หากมีเพียงเซิร์ฟเวอร์เดียวในกลุ่มพารามิเตอร์ max_fails, fail_timeout และ slow_start จะถูกละเว้นและเซิร์ฟเวอร์ดังกล่าวจะไม่ถูกพิจารณาว่าไม่พร้อมใช้งาน"
Ferguzz

1
@Ferguzz นั่นเป็นการจับที่ดี วิธีแก้ปัญหาชั่วคราวคุณสามารถเพิ่มรายการนามแฝงสองรายการของคอนเทนเนอร์เดียวกันเพื่อสร้างกลุ่มจากคอนเทนเนอร์เดียวกัน
ภาณี

ในฐานะทางเลือกอื่นฉันได้ให้ไว้ในคำถามเดียวกันโดยใช้ "volumes_from" เพื่อเชื่อมโยงคอนเทนเนอร์และให้รอจนกว่าคอนเทนเนอร์อื่นจะโหลด นี่ใช้งานได้สำหรับฉัน
Phani

7

ฉันเชื่อว่า Nginx ไม่ได้ใช้ตัวแก้ไข Docker บัญชี (127.0.0.11) ดังนั้นโปรดลองเพิ่ม:

resolver 127.0.0.11

ในไฟล์กำหนดค่า nginx ของคุณ?


เพิ่มตัวแก้ไขหลายตัวเช่นresolver 127.0.0.11 8.8.8.8;
Leonardo Chaia

1
ไม่เนื่องจากจะทำการค้นหาใน Round Robin ตามที่ระบุไว้ในเอกสาร: เซิร์ฟเวอร์ชื่อจะถูกสอบถามในรูปแบบ Round-robin
dalore

6

หากคุณหลงทางเพื่ออ่านความคิดเห็นล่าสุด ฉันได้ไปถึงทางออกอื่นแล้ว

ปัญหาหลักคือวิธีที่คุณตั้งชื่อบริการ

ในกรณีนี้ถ้าในของคุณdocker-compose.ymlบริการสำหรับ php เรียกว่า "api" หรืออะไรทำนองนั้นคุณต้องแน่ใจว่าในไฟล์nginx.confบรรทัดที่ขึ้นต้นด้วยfastcgi_passชื่อเดียวกับบริการ php กล่าวคือfastcgi_pass api:9000;


3

ฉันมีปัญหาเดียวกันเนื่องจากมีสองเครือข่ายที่กำหนดไว้ในdocker-compose.ymlส่วนแบ็กเอนด์หนึ่งส่วนและส่วนหน้าหนึ่งรายการ
เมื่อฉันเปลี่ยนให้เรียกใช้คอนเทนเนอร์บนเครือข่ายเริ่มต้นเดียวกันทุกอย่างเริ่มทำงานได้ดี


นี่ยังห่างไกลจากการเป็นคำตอบ
dargmuesli

2

มีปัญหาเดียวกันและแก้ไขได้ โปรดเพิ่มบรรทัดต่อไปนี้ในส่วน docker-compose.yml nginx:

links:
  - php:waapi_php_1

โฮสต์ในส่วน fastcgi_pass config nginx ควรเชื่อมโยงภายในการกำหนดค่า docker-compose.yml nginx


1

สองสิ่งที่ควรกล่าวถึง:

  • ใช้สะพานเครือข่ายเดียวกัน
  • ใช้linksเพื่อเพิ่มการแก้ไขโฮสต์

ตัวอย่างของฉัน:

version: '3'
services:
  mysql:
    image: mysql:5.7
    restart: always
    container_name: mysql
    volumes:
      - ./mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: tima@123
    network_mode: bridge
  ghost:
    image: ghost:2
    restart: always
    container_name: ghost
    depends_on:
      - mysql
    links:
      - mysql
    environment:
      database__client: mysql
      database__connection__host: mysql
      database__connection__user: root
      database__connection__password: xxxxxxxxx
      database__connection__database: ghost
      url: https://www.itsfun.tk
    volumes:
      - ./ghost-data:/var/lib/ghost/content
    network_mode: bridge
  nginx:
    image: nginx
    restart: always
    container_name: nginx
    depends_on:
      - ghost
    links:
      - ghost
    ports:
      - "80:80"
      - "443:443"
    volumes:
       - ./nginx/nginx.conf:/etc/nginx/nginx.conf
       - ./nginx/conf.d:/etc/nginx/conf.d
       - ./nginx/letsencrypt:/etc/letsencrypt
    network_mode: bridge

หากคุณไม่ได้ระบุสะพานเครือข่ายพิเศษทั้งหมดจะใช้สะพานเริ่มต้นเดียวกัน


1

ในแวบแรกฉันพลาดบริการ "เว็บ" ของฉันไม่ได้เริ่มทำงานจริงนั่นเป็นสาเหตุที่ nginx ไม่พบโฮสต์ใด ๆ

web_1    | python3: can't open file '/var/www/app/app/app.py': [Errno 2] No such file or directory
web_1 exited with code 2
nginx_1  | [emerg] 1#1: host not found in upstream "web:4044" in /etc/nginx/conf.d/nginx.conf:2

เฮ้ฉันมีปัญหาเดียวกัน แอปพลิเคชันของฉันไม่ทำงานดังนั้นฉันจึงได้รับข้อผิดพลาดเดียวกัน ฉันใส่ uwsgi-file เป็น run.py ใน app.ini ซึ่งควรเรียกใช้แอป แต่ไม่เกิดขึ้น
isrj5

0

ด้วยลิงก์จะมีการบังคับใช้ลำดับการเริ่มต้นคอนเทนเนอร์ หากไม่มีลิงก์คอนเทนเนอร์สามารถเริ่มต้นตามลำดับใดก็ได้ (หรือทั้งหมดพร้อมกัน)

ฉันคิดว่าการตั้งค่าเก่าอาจประสบปัญหาเดียวกันหากwaapi_php_1คอนเทนเนอร์เริ่มทำงานช้า

ฉันคิดว่าจะทำให้มันใช้งานได้คุณสามารถสร้างสคริปต์จุดเข้าใช้งาน nginx ที่สำรวจและรอให้คอนเทนเนอร์ php เริ่มต้นและพร้อมใช้งาน

ฉันไม่แน่ใจว่า nginx มีวิธีใดในการลองเชื่อมต่อกับอัปสตรีมโดยอัตโนมัติอีกครั้ง แต่ถ้าเป็นเช่นนั้นนั่นจะเป็นตัวเลือกที่ดีกว่า


และฉันจะทำโพลได้อย่างไร?
Attila Szeremi

0

คุณต้องใช้บางอย่างเช่น docker-gen เพื่ออัปเดตการกำหนดค่า nginx แบบไดนามิกเมื่อแบ็กเอนด์ของคุณทำงาน

ดู:

ฉันเชื่อว่า Nginx + (เวอร์ชันพรีเมียม) มีพารามิเตอร์การแก้ไขด้วย ( http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream )


0

บางทีทางเลือกที่ดีที่สุดในการหลีกเลี่ยงปัญหาการเชื่อมโยงคอนเทนเนอร์คือคุณสมบัติเครือข่ายนักเทียบท่า

แต่เพื่อให้ทำงานนี้นักเทียบท่าจะสร้างรายการใน/ etc / hostsสำหรับแต่ละคอนเทนเนอร์จากชื่อที่กำหนดไปยังแต่ละคอนเทนเนอร์

ด้วย Docker-compose --x-networking -up ก็เหมือนกับ [docker_compose_folder] - [service] - [Incremental_number]

เพื่อไม่ให้ขึ้นอยู่กับการเปลี่ยนแปลงที่ไม่คาดคิดในชื่อเหล่านี้คุณควรใช้พารามิเตอร์

container_name

ใน docker-compose.yml ของคุณดังนี้:

php:
      container_name: waapi_php_1
      build: config/docker/php
      ports:
        - "42022:22"
      volumes:
        - .:/var/www/html
      env_file: config/docker/php/.env.development

ตรวจสอบให้แน่ใจว่าเป็นชื่อเดียวกับที่กำหนดในไฟล์การกำหนดค่าสำหรับบริการนี้ ฉันค่อนข้างแน่ใจว่ามีวิธีที่ดีกว่านี้ในการทำเช่นนี้ แต่เป็นแนวทางที่ดีในการเริ่มต้น


0

วิธีแก้ปัญหาของฉัน (หลังจากลองผิดลองถูกมากมาย):

  • เพื่อแก้ไขปัญหานี้ฉันต้องได้รับชื่อเต็มของคอนเทนเนอร์ Docker 'ต้นน้ำ' ซึ่งพบได้จากการเรียกใช้docker network inspect my-special-docker-networkและรับnameคุณสมบัติทั้งหมดของคอนเทนเนอร์ต้นน้ำดังนี้:

    "Containers": {
         "39ad8199184f34585b556d7480dd47de965bc7b38ac03fc0746992f39afac338": {
              "Name": "my_upstream_container_name_1_2478f2b3aca0",
    
  • จากนั้นใช้สิ่งนี้ในmy-network.local.confไฟล์NGINX ในlocationบล็อกของproxy_passคุณสมบัติ: (สังเกตการเพิ่ม GUID ไปยังชื่อคอนเทนเนอร์):

    location / {
        proxy_pass http://my_upsteam_container_name_1_2478f2b3aca0:3000;
    

เมื่อเทียบกับการทำงานก่อนหน้านี้ แต่ตอนนี้พัง:

    location / {
        proxy_pass http://my_upstream_container_name_1:3000

สาเหตุส่วนใหญ่คือการเปลี่ยนแปลงที่ผ่านมาเพื่อเทียบท่าเขียนในโครงการตั้งชื่อเริ่มต้นของพวกเขาสำหรับภาชนะบรรจุที่ระบุไว้ที่นี่

สิ่งนี้ดูเหมือนจะเกิดขึ้นกับฉันและทีมในที่ทำงานด้วยnginxอิมเมจDocker เวอร์ชันล่าสุด:

  • ฉันได้เปิดปัญหากับพวกเขาในนักเทียบท่า / เขียน GitHub ที่นี่

0

(ใหม่สำหรับ nginx) ในกรณีของฉันชื่อโฟลเดอร์ไม่ถูกต้อง

สำหรับ config

upstream serv {
    server ex2_app_1:3000;
}

ตรวจสอบให้แน่ใจว่าโฟลเดอร์แอพอยู่ในโฟลเดอร์ ex2:

ex2 / แอพ / ...


0

ข้อผิดพลาดนี้เกิดขึ้นกับฉันเนื่องจากphp-fpmรูปภาพของฉันเปิดใช้งานcronและฉันไม่รู้ว่าทำไม


0

ปัญหาของฉันคือฉันลืมระบุนามแฝงเครือข่ายใน docker-compose.yml ในphp-fpm

    networks:
      - u-online

มันใช้งานได้ดี!

version: "3"
services:

  php-fpm:
    image: php:7.2-fpm
    container_name: php-fpm
    volumes:           
      - ./src:/var/www/basic/public_html
    ports:
      - 9000:9000
    networks:
      - u-online
      
  nginx: 
    image: nginx:1.19.2
    container_name: nginx   
    depends_on:
      - php-fpm       
    ports:
      - "80:8080"
      - "443:443"
    volumes:
      - ./docker/data/etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
      - ./docker/data/etc/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./src:/var/www/basic/public_html
    networks:
      - u-online

#Docker Networks
networks:
  u-online:
    driver: bridge

-1

เพิ่มส่วนลิงก์ไปยังการกำหนดค่าคอนเทนเนอร์ nginx ของคุณ

คุณต้องทำให้phpตู้คอนเทนเนอร์มองเห็นnginxคอนเทนเนอร์ได้

nginx:
  image: nginx
  ports:
    - "42080:80"
  volumes:
    - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
  links:
    - php:waapi_php_1

1
ฉันรู้เกี่ยวกับลิงก์ แต่ Docker ทำเครื่องหมายว่าเลิกใช้งานในเวอร์ชัน 1.9 ที่ออกมาเมื่อสัปดาห์ก่อนเพื่อสนับสนุนการใช้งานเครือข่ายของ Docker ฉันต้องการโซลูชันที่ใช้สิ่งนั้นส่วนหนึ่งเป็นเพราะลิงก์มีปัญหาเกี่ยวกับการเชื่อมโยงแบบวงกลมที่เครือข่ายไม่ควรมี
Attila Szeremi

1
ในCHANGELOG.mdฉันไม่เห็นว่าlinkมีการเลิกใช้งาน ฉันพลาดอะไรไปรึเปล่า?
nessuno

ฉันไม่เห็นสิ่งนั้นในนั้นด้วย อย่างไรก็ตามเมื่อฉันเรียกใช้docker-compose --x-networking upลิงก์ที่กำหนดไว้ในของdocker-compose.ymlฉันฉันได้รับคำเตือนที่ชัดเจนนี้:WARNING: "nginx" defines links, which are not compatible with Docker networking and will be ignored. Future versions of Docker will not support links - you should remove them for forwards-compatibility.
Attila Szeremi

ตกลงฉันพบว่าการเลิกใช้งานอยู่ที่ไหน ความคิดเดียวที่ฉันมีคือคุณdocker-compose.ymlไฟล์อยู่ในโฟลเดอร์ชื่อwaapiหรือไม่?
nessuno

ใช่มันอยู่ในโฟลเดอร์ชื่อwaapi
Attila Szeremi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.