ich eine Gruppe von Diensten wie folgt ausgeführt werden:Wie stelle ich meinen Dienst dem internen Andocknetzwerk zur Verfügung?
version: '2'
services:
web:
build: ./web
ports:
- "3000:3000"
links:
- api
api:
build: ./api
links:
- db
db:
image: postgres
ich den web
Dienst an den Host-Netzwerk-Schnittstelle, die Bindung Port 3000 auf dem Host-Port 3000 auf dem Behälter verfügbar machen möchten. ABER, ich möchte nur den api
Dienst dem internen Netzwerk zugänglich machen, was bedeutet, dass ich nur möchte, dass er vom Webservice erreichbar ist. IIRC, das bedeutet, ich muss den api
-Dienst dem bridge
-Netzwerk in der Docker-Compose-Datei verfügbar machen.
Wenn ich den Docker-CLI ausgeführt würde, würde ich dies tun, indem Sie das --net bridge
Argument angeben. Aber ich bin nicht sicher, wie man das in einer Compose-Datei macht. Bitte helfen Sie!
Es ist eine Weile her, seit ich Docker verwendet habe Compose, aber es sieht für mich so aus, als müsste das schon tun, was du willst - aus der Perspektive des 'web'-Containers sollte der Hostname' api' auf die IP-Adresse des 'api'-Containers im privaten Netzwerk auflösen. –
weist das Docker-Netzwerk einen dynamischen Port zu? – dopatraman
Es müssen keine Ports zugewiesen werden. Wenn Sie etwas haben, das auf Port "n" innerhalb des "api" Containers abhört, dann kann der 'web' Container über' api: n' mit ihm verbunden werden. –