Puncte:0

Docker accesibil prin localhost:8080 și 127.0.0.1:8080, dar nu prin IP

drapel cn

Am scenariul de mai jos - 3x VM-uri Vagrant sunt rotite din fișierul Vagrant de mai jos, în funcțiune (vizibil în Oracle VirtualBox).

Sunt conectat pe docker1, tipul de rețea este „NAT”, se utilizează redirecționarea porturilor (Guest:8080, Host:8080).

Pot accesa pagina de la localhost:8080 & 127.0.0.1:8080 & 127.0.1.1:8080. Cu toate acestea, nu am acces prin IP (192.168.99.101:8080 este „Dar prea mult timp pentru a răspunde” și nu pot fi contactat).

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

    config.vm.define „docker1” face |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”, calea: „docker-setup.sh”
        docker1.vm.provision „shell”, calea: „other-steps.sh”
        docker1.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        Sfârşit
    Sfârşit
    
    config.vm.define „docker2” face |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”, calea: „docker-setup.sh”
        docker2.vm.provision „shell”, calea: „other-steps.sh”
        docker2.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        Sfârşit
    Sfârşit
    
    config.vm.define „docker3” face |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”, calea: „docker-setup.sh”
        docker3.vm.provision „shell”, calea: „other-steps.sh”
        docker3.vm.provider :virtualbox do |vb|
            vb.customize ["modifyvm", :id, "--memory", "1536"]
        Sfârşit
    Sfârşit
Sfârşit

fișierul docker-setup.sh este mai jos:

#!/bin/bash

echo „* Adăugați depozitul Docker...”
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

echo „* Instalați Docker...”
dnf install -y docker-ce docker-ce-cli containerd.io

echo „* Activați și porniți Docker...”
systemctl enable docker
systemctl start docker

echo „* Adăugați un utilizator vagabond la grupul docker...”
usermod -aG docker vagabond

fișierul other-steps.sh este mai jos:

#!/bin/bash

echo „* Adăugați gazde...”
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 „* Instalează pachete suplimentare...”
dnf install -y jq tree git nano

echo "* Firewall - roi - porturi deschise ..."
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent

echo "* Firewall - aplicație - deschideți portul 8080 ..."
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reîncărcare

Rețelele sunt mai jos:

[vagrant@docker1 etc]$ docker network ls
ID REȚEA NUMELE ȘOFER DOMENIUL DE APLICARE
f2351cd29061 pod pod local
f91a21d83931 docker_gwbridge pod local
c5fc9aedf330 gazdă gazdă locală
oc2i4c2czira ingress overlay roi
50fe2b72573c nici unul nul local

Conținutul etc/hosts este aici:

[vagrant@docker1 etc]$ gazde pisici
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

Comanda folosită pentru a porni un container este cea de mai jos:

rulați containerul docker -d --name web -p 8080:80 -e APP_MODE='test' swarm-app

Am cercetat o mulțime de articole cu aceeași problemă, dar tot nu găsesc o soluție. Presupun că acest lucru ar putea avea ceva de-a face cu rezoluția DNS a adresei IP în cauză?

Actualizare: Deschid în CMD prin curl adresele de mai jos (Port Forwarding Host:8080, Guest:80), dacă există informații de furnizat, vă rugăm să-mi spuneți: `[vagrant@docker1 ~]$ curl http:/localhost:8080 -> nu se deschide în browser

Bună, Docker Swarm!



Servit de: be93b0268b1d

[vagrant@docker1 ~]$ curl http://172.17.0.2:80 -> acesta este IP-ul containerului - nu se deschide prin browser

Bună, Docker Swarm!



Servit de: be93b0268b1d

[vagrant@docker1 ~]$ curl http://192.168.99.101:8080 -> acesta este IP-ul gazdei Docker care ar trebui să se deschidă prin browser - și fără succes

Bună, Docker Swarm!



Servit de: be93b0268b1d
4snok avatar
drapel es
vă rugăm să atașați comanda `docker run` pe care ați folosit-o pentru a porni un container.
query_question avatar
drapel cn
Adăugat acum. Mulțumiri!
djdomi avatar
drapel za
de ce să nu folosiți nginx ca proxy invers?
djdomi avatar
drapel za
se pare ca se bazeaza pe apache.dar toate informațiile noi și necesare vor fi inserate în întrebarea dvs. prin editarea acesteia, nu o posta niciodată ca comentariu
query_question avatar
drapel cn
@djdomi, am actualizat postarea cu rezultatele de la curl în CMD și cum nu se deschide același lucru în browser. Mulțumiri!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.