2016-04-10 14 views
5

Ho seguito this tutorial for beginners about docker che fondamentalmente ti suggerisce di creare un contenitore apache e mappare una porta localhost a quella sul container. quando provo localhost: 80 non si connette, anche se il contenitore è attivo e funzionante. Ho persino stabilito una regola nel firewall per consentire la connessione alla porta 80, ma non sono riuscito a connettermi all'host locale.non posso accedere apache sulla finestra mobile dal mio host locale

Qualche idea?

+0

quello che fa comando 'log docker CONTAINER_ID' mostrano – mainframer

+0

@mainframer non sapeva di questa prima, è visualizzato il messaggio "AH00558: apache2: impossibile determinare in modo affidabile nome di dominio completo del server, utilizzando 172.17.0.3. Imposta globalmente la direttiva 'ServerName' per sopprimere questo messaggio " –

+1

Provare a risolvere prima questo problema di apache. Ovviamente Apache vorrebbe che tu configurassi un ServerName. Usa comando 'docker exec -it CONTAINER_ID/bin/bash' per entrare nel tuo contenitore, quindi segui questo articolo per risolvere quel problema: https://thomas.vanhoutte.be/miniblog/fix-apache-error-ah00558/ – mainframer

risposta

6

Su Windows/OS X, Docker è in esecuzione all'interno di una macchina virtuale Linux (Docker Toolbox) con un indirizzo IP predefinito di 192.168.99.100. Pertanto, quando si utilizza docker run -p 80:80 per associare la porta del contenitore alla porta host, essa si collega alla porta 80 della macchina virtuale. Pertanto, l'indirizzo necessario è http://192.168.99.100.

Il 172.17.0.3 indirizzo è l'indirizzo del contenitore finestra mobile all'interno quella macchina virtuale, e non è accessibile direttamente da Windows/OS X.

1

aggiungere una riga al vostro DockerFile prima di riavviare apache. ?

RUN echo 'ServerName localhost' >> /etc/apache2/apache2.conf 
Problemi correlati