Uczę się dokera. Widzę, że te dwa terminy sprawiają, że się mylę. Na przykład tutaj znajduje się okno dokowane, które definiuje dwie usługi: redis
i web-app
.docker-compose: różnica między siecią a łączem
services:
redis:
container_name: redis
image: redis:latest
ports:
- "6379:6379"
networks:
- lognet
app:
container_name: web-app
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
volumes:
- ".:/webapp"
links:
- redis
networks:
- lognet
networks:
lognet:
driver: bridge
Ten plik docker-compose
definiuje sieć most nazwany lognet i wszystkie usługi będą łączyć się z tą siecią. Jak rozumiem, ta czynność sprawia, że te usługi mogą widzieć innych. Dlaczego więc usługa aplikacji nadal musi łączyć się z usługą redis w powyższym przykładzie.
Dzięki
Myślę, że @ Trân pytał o 'links' w docker-compose, które nie są przestarzałe. Tylko w poleceniach 'docker run'. https://forums.docker.com/t/are-links-deprecated-in-docker-compose/27348/2 –
Są one nieaktualne. Zweryfikowałem je bezpośrednio od programisty do tworzenia dokerów wcześniej. Dokumentacja pokazuje, że nie są one w ogóle obsługiwane w trybie roju, a aby działały z kompozycją dockera, potrzebujesz wspólnej sieci, która i tak zapewni obsługę DNS. https://docs.docker.com/compose/compose-file/#links – BMitch