Score:0

นักเทียบท่าสามารถเข้าถึงได้ผ่าน localhost:8080 & 127.0.0.1:8080 แต่ไม่ผ่าน IP

ธง cn

ฉันมีสถานการณ์ด้านล่าง - 3x Vagrant VMs ถูกหมุนจากไฟล์ Vagrant ด้านล่าง ขึ้นและทำงาน (มองเห็นได้ภายใน Oracle VirtualBox)

ฉันเข้าสู่ระบบบน docker1 ประเภทเครือข่ายคือ "NAT" ใช้การส่งต่อพอร์ต (Guest:8080, Host:8080)

ฉันสามารถเข้าถึงหน้านี้ได้จาก localhost:8080 & 127.0.0.1:8080 & 127.0.1.1:8080 อย่างไรก็ตาม ฉันไม่สามารถเข้าถึงได้ผ่าน IP (192.168.99.101:8080 คือ "ใช้เวลานานเกินไปในการตอบสนอง" และไม่สามารถเข้าถึงได้)

Vagrant.configure("2") ทำ |config|

    config.vm.define "docker1" ทำ |docker1|
        นักเทียบท่า 1.vm.box="xxx/centos-stream-8"
        docker1.vm.hostname = "docker1.do1.lab"
        docker1.vm.network "private_network", ip: "192.168.99.101"
        docker1.vm.provision "shell", เส้นทาง: "docker-setup.sh"
        docker1.vm.provision "shell", เส้นทาง: "other-steps.sh"
        docker1.vm.provider :virtualbox ทำ |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        จบ
    จบ
    
    config.vm.define "docker2" ทำ |docker2|
        นักเทียบท่า2.vm.box="xxx/centos-stream-8"
        docker2.vm.hostname = "docker2.do1.lab"
        docker2.vm.network "private_network", ip: "192.168.99.102"
        docker2.vm.provision "shell", เส้นทาง: "docker-setup.sh"
        docker2.vm.provision "shell", เส้นทาง: "other-steps.sh"
        docker2.vm.provider :virtualbox ทำ |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        จบ
    จบ
    
    config.vm.define "docker3" ทำ |docker3|
        นักเทียบท่า3.vm.box="xxx/centos-stream-8"
        docker3.vm.hostname = "docker3.do1.lab"
        docker3.vm.network "private_network", ip: "192.168.99.103"
        docker3.vm.provision "shell", เส้นทาง: "docker-setup.sh"
        docker3.vm.provision "shell", เส้นทาง: "other-steps.sh"
        docker3.vm.provider :virtualbox ทำ |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        จบ
    จบ
จบ

ไฟล์ docker-setup.sh อยู่ด้านล่าง:

#!/bin/bash

echo "* เพิ่มที่เก็บ Docker ... "
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

echo "* ติดตั้ง Docker ..."
dnf ติดตั้ง -y นักเทียบท่า-ce นักเทียบท่า-ce-cli containerd.io

echo "* เปิดใช้งานและเริ่ม Docker ..."
systemctl เปิดใช้งานนักเทียบท่า
systemctl เริ่มนักเทียบท่า

echo "* Add vagrant user to docker group ..."
usermod -aG นักเทียบท่าคนจรจัด

ไฟล์ other-steps.sh อยู่ด้านล่าง:

#!/bin/bash

echo "* เพิ่มโฮสต์ ... "
echo "192.168.99.101 docker1.do1.lab docker1" >> /etc/hosts
echo "192.168.99.102 docker2.do1.lab docker2" >> /etc/hosts
echo "192.168.99.103 docker3.do1.lab docker3" >> /etc/hosts

echo "* ติดตั้งแพ็คเกจเพิ่มเติม ..."
dnf ติดตั้ง -y jq tree git nano

echo "* ไฟร์วอลล์ - ฝูง - เปิดพอร์ต ... "
ไฟร์วอลล์ cmd --add-port=2377/tcp --permanent
ไฟร์วอลล์ cmd --add-port=4789/udp --permanent
ไฟร์วอลล์ cmd --add-port=7946/tcp --permanent
ไฟร์วอลล์ cmd --add-port=7946/udp --permanent

echo "* ไฟร์วอลล์ - แอพ - เปิดพอร์ต 8080 ... "
ไฟร์วอลล์ cmd --add-port=8080/tcp --permanent
ไฟร์วอลล์ cmd --reload

เครือข่ายอยู่ด้านล่าง:

[vagrant@docker1 etc]$ เครือข่ายนักเทียบท่า ls
ขอบเขตไดรเวอร์ชื่อรหัสเครือข่าย
f2351cd29061 บริดจ์ บริดจ์ โลคอล
f91a21d83931 สะพาน docker_gwbridge ในเครื่อง
c5fc9aedf330 โฮสต์โฮสต์โลคัล
oc2i4c2czira ingress ซ้อนทับฝูง
50fe2b72573c ไม่มีค่าว่างในเครื่อง

เนื้อหา etc/hosts อยู่ที่นี่:

[vagrant@docker1 etc]โฮสต์แมว $
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.1.1 docker1.do1.lab docker1
192.168.99.101 docker1.do1.lab docker1
192.168.99.102 docker2.do1.lab docker2
192.168.99.103 docker3.do1.lab docker3

คำสั่งที่ใช้ในการหมุนคอนเทนเนอร์คือคำสั่งด้านล่าง:

เรียกใช้คอนเทนเนอร์นักเทียบท่า -d --name web -p 8080:80 -e APP_MODE='test' swarm-app

ฉันได้ค้นคว้าบทความมากมายที่มีปัญหาเดียวกัน แต่ก็ยังไม่สามารถหาวิธีแก้ปัญหาได้ ฉันคิดว่าสิ่งนี้อาจเกี่ยวข้องกับการแก้ไข DNS ของที่อยู่ IP ที่เป็นปัญหา

อัปเดต: ฉันกำลังเปิดใน CMD ผ่าน curl ที่อยู่ด้านล่าง (โฮสต์การส่งต่อพอร์ต: 8080, ผู้เยี่ยมชม: 80) หากมีข้อมูลใด ๆ โปรดแจ้งให้เราทราบ: `[vagrant@docker1 ~]$ curl http:/localhost:8080 -> ไม่เปิดในเบราว์เซอร์

สวัสดีนักเทียบท่า Swarm!



ให้บริการโดย: be93b0268b1d

[vagrant@docker1 ~]$ ขด http://172.17.0.2:80 -> นี่คือคอนเทนเนอร์ IP - ไม่เปิดผ่านเบราว์เซอร์

สวัสดีนักเทียบท่า Swarm!



ให้บริการโดย: be93b0268b1d

[vagrant@docker1 ~]$ ขด http://192.168.99.101:8080 -> นี่คือ IP โฮสต์ Docker ที่ควรจะเปิดผ่านเบราว์เซอร์ - และไม่สำเร็จเช่นกัน

สวัสดีนักเทียบท่า Swarm!



ให้บริการโดย: be93b0268b1d
4snok avatar
es flag
โปรดแนบคำสั่ง `docker run` ที่คุณใช้ในการหมุนคอนเทนเนอร์
query_question avatar
cn flag
เพิ่งเพิ่ม ขอบคุณ!
djdomi avatar
za flag
ทำไมไม่ใช้ nginx เป็นพร็อกซีย้อนกลับ
djdomi avatar
za flag
ดูเหมือนว่าจะขึ้นอยู่กับ apacheแต่ข้อมูลใหม่และข้อมูลที่จำเป็นทั้งหมดจะถูกแทรกลงในคำถามของคุณโดยการแก้ไข ห้ามโพสต์เป็นคำอธิบาย
query_question avatar
cn flag
@djdomi ฉันได้อัปเดตโพสต์ด้วยผลลัพธ์จาก curl ใน CMD และวิธีที่เหมือนกันไม่ได้เปิดในเบราว์เซอร์ ขอบคุณ!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา