Điểm:0

Docker có thể truy cập qua localhost:8080 & 127.0.0.1:8080 nhưng không phải qua IP

lá cờ cn

Tôi có kịch bản bên dưới - 3x máy ảo Vagrant được quay từ Vagrantfile bên dưới, khởi động và chạy (hiển thị trong Oracle VirtualBox).

Tôi đã đăng nhập vào docker1, loại mạng là "NAT", chuyển tiếp cổng được sử dụng (Khách:8080, Máy chủ:8080).

Tôi có thể truy cập trang từ localhost:8080 & 127.0.0.1:8080 & 127.0.1.1:8080. Tuy nhiên, tôi không có quyền truy cập qua IP (192.168.99.101:8080 là "Mất quá nhiều thời gian để phản hồi" và không thể truy cập được).

Vagrant.configure("2") do |config|

    config.vm.define "docker1" do |docker1|
        docker1.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", đường dẫn: "docker-setup.sh"
        docker1.vm.provision "shell", đường dẫn: "other-steps.sh"
        docker1.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        chấm dứt
    chấm dứt
    
    config.vm.define "docker2" do |docker2|
        docker2.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", đường dẫn: "docker-setup.sh"
        docker2.vm.provision "shell", đường dẫn: "other-steps.sh"
        docker2.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        chấm dứt
    chấm dứt
    
    config.vm.define "docker3" do |docker3|
        docker3.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", đường dẫn: "docker-setup.sh"
        docker3.vm.provision "shell", đường dẫn: "other-steps.sh"
        docker3.vm.provider :virtualbox làm |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        chấm dứt
    chấm dứt
chấm dứt

tệp docker-setup.sh bên dưới:

#!/bin/bash

echo "* Thêm kho lưu trữ Docker ..."
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

tiếng vang "* Cài đặt Docker ..."
cài đặt dnf -y docker-ce docker-ce-cli containerd.io

echo "* Kích hoạt và khởi động Docker ..."
systemctl kích hoạt docker
docker khởi động systemctl

echo "* Thêm người dùng lang thang vào nhóm docker ..."
usermod -aG docker lang thang

tệp other-steps.sh bên dưới:

#!/bin/bash

tiếng vang "* Thêm máy chủ ..."
tiếng vang "192.168.99.101 docker1.do1.lab docker1" >> /etc/hosts
tiếng vang "192.168.99.102 docker2.do1.lab docker2" >> /etc/hosts
tiếng vang "192.168.99.103 docker3.do1.lab docker3" >> /etc/hosts

echo "* Cài đặt gói bổ sung ..."
cài đặt dnf -y cây jq git nano

echo "* Tường lửa - swarm - mở cổng ..."
tường lửa-cmd --add-port=2377/tcp -- Permanent
tường lửa-cmd --add-port=4789/udp -- Permanent
tường lửa-cmd --add-port=7946/tcp -- Permanent
tường lửa-cmd --add-port=7946/udp -- Permanent

echo "* Tường lửa - ứng dụng - mở cổng 8080 ..."
tường lửa-cmd --add-port=8080/tcp -- Permanent
tường lửa-cmd --reload

Các mạng dưới đây:

[vagrant@docker1 etc]$ mạng docker ls
MẠNG ID TÊN PHẠM VI TRÌNH ĐIỀU KHIỂN
f2351cd29061 cầu cầu địa phương
f91a21d83931 cầu docker_gwbridge cục bộ
c5fc9aedf330 máy chủ lưu trữ cục bộ
đám lớp phủ xâm nhập oc2i4c2czira
50fe2b72573c không null cục bộ

Nội dung etc/hosts ở đây:

[vagrant@docker1 etc]$ máy chủ mèo
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

Lệnh được sử dụng để quay một thùng chứa là lệnh bên dưới:

docker container run -d --name web -p 8080:80 -e APP_MODE='test' swarm-app

Tôi đã nghiên cứu rất nhiều bài viết có cùng vấn đề nhưng vẫn không thể tìm ra giải pháp. Tôi cho rằng điều này có thể liên quan đến độ phân giải DNS của địa chỉ IP được đề cập?

Cập nhật: Tôi đang mở bằng CMD thông qua các địa chỉ bên dưới (Máy chủ chuyển tiếp cổng: 8080, Khách: 80), nếu có bất kỳ thông tin nào cần cung cấp, vui lòng cho tôi biết: `[vagrant@docker1 ~]$ curl http:/localhost:8080 -> không mở trong trình duyệt

Xin chào bầy Docker!



Được phục vụ bởi: be93b0268b1d

[vagrant@docker1 ~]$ cuộn tròn http://172.17.0.2:80 -> đây là IP vùng chứa - không mở qua trình duyệt

Xin chào bầy Docker!



Được phục vụ bởi: be93b0268b1d

[vagrant@docker1 ~]$ cuộn tròn http://192.168.99.101:8080 -> đây là IP máy chủ Docker được cho là mở thông qua trình duyệt - cũng không thành công

Xin chào bầy Docker!



Được phục vụ bởi: be93b0268b1d
4snok avatar
lá cờ es
vui lòng đính kèm lệnh `docker run` mà bạn đã sử dụng để khởi động một vùng chứa.
query_question avatar
lá cờ cn
Chỉ cần thêm. Cảm ơn!
djdomi avatar
lá cờ za
tại sao không sử dụng nginx làm proxy ngược?
djdomi avatar
lá cờ za
có vẻ như nó dựa trên apache.nhưng tất cả thông tin mới và bắt buộc sẽ được chèn vào câu hỏi của bạn bằng cách chỉnh sửa nó, không bao giờ đăng nó dưới dạng bình luận
query_question avatar
lá cờ cn
@djdomi, tôi đã cập nhật bài đăng với các kết quả từ curl trong CMD và cách tương tự không được mở trong trình duyệt. Cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.