Ich habe Probleme beim Zugriff auf einen Antwortcontainer, der mit docker-compose in docker-machine ausgeführt wird. Ich kann die Webseite innerhalb des Containers kräuseln, aber ich kann nicht innerhalb docker-machine (oder im Browser des Hosts) darauf zugreifen. Auf den Back-End-Golang-Container kann von docker-machine und vom Browser des Hosts aus zugegriffen werden (wie in den Snippets zu sehen ist, wird 404 nicht gefunden zurückgegeben)."Leere Antwort vom Server" beim Versuch, webpack-dev-server in einem Andockcontainer mit Andockfenster zu starten. Kompilieren in Fenstern mit docker-toolbox
In den docker-compose-Protokollen scheint alles reibungslos zu laufen, webpack-dev-server läuft wie erwartet, ich kann nur von außerhalb des Containers darauf zugreifen.
Ich verwende Docker Toolbox für Windows.
Am besten, um das Problem mit einigen Schnipsel zusätzlich zu beschreiben.
Docker-compose Datei:
version: '2'
services:
postgres:
image: postgres
environment:
- POSTGRES_PASSWORD=postgres
server:
build: ./server
command: gin
volumes:
- ./server:/go/src/app
ports:
- "8080:3000"
environment:
- POSTGRES_PASSWORD=postgres
client:
build: ./client
command: npm start
volumes:
- ./client:/usr/src/app
# mount node_modules as a workaround for it disappearing
# after adding /client as a mounted folder
- /usr/src/app/node_modules
ports:
- "9000:3000"
Dockerfile für den Knoten Behälter:
FROM node:6.5.0-slim
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
ENV NODE_ENV development
RUN npm install
Output der folgenden Befehle innerhalb Andockfensters-Maschine (Standard):
Docker @ Standard: ~ $ sudo iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0
MASQUERADE all -- 172.19.0.0/16 0.0.0.0/0
MASQUERADE all -- 172.18.0.0/16 0.0.0.0/0
MASQUERADE tcp -- 172.19.0.2 172.19.0.2 tcp dpt:3000
MASQUERADE tcp -- 172.19.0.3 172.19.0.3 tcp dpt:3000
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- 0.0.0.0/0 0.0.0.0/0
RETURN all -- 0.0.0.0/0 0.0.0.0/0
RETURN all -- 0.0.0.0/0 0.0.0.0/0
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:172.19.0.2:3000
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000 to:172.19.0.3:3000
hier das Hauptproblem kommt:
Docker @ Standard: ~ $ curl 0.0.0.0 : 9000
curl: (52) Empty reply from server
docker @ defa ult: ~ $ curl 0.0.0.0:8080
404 page not found
Docker @ Standard: ~ $ Docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
f93fd1833de2 goreacttodo_client "npm start" 32 minutes ago Up 5 minutes 0.0.0.0:9000->
3000/tcp goreacttodo_client_1
ff1fa9c33b05 postgres "/docker-entrypoint.s" 3 days ago Up 5 minutes 5432/tcp
goreacttodo_postgres_1
e4581f8e368b goreacttodo_server "gin" 3 days ago Up 5 minutes 0.0.0.0:8080->
3000/tcp goreacttodo_server_1
Ausgabe der folgenden Befehle innerhalb des Knotens Container:
root @ f93fd1833de2:/usr/src/app # locken localhost: 3000
<!doctype html>
<html>
<head>
</head>
<body lang="en">
<div id="react-app"></div>
<script src="/bundle.js" type="text/javascript"></script>
</body></html>
Jede Hilfe wäre sehr appreciated.