链接已被网络取代。Docker将它们描述为您应避免使用的旧功能。您可以安全地删除链接,并且两个容器将能够通过它们的服务名称(或container_name)相互引用。
使用compose时,链接确实会产生隐式依赖关系。您应该将其替换为更明确的depends_on部分,以使应用程序不会在未启动redis或启动redis之前尝试运行。
顺便说一句,除非您确定这是主机上唯一使用该名称的容器,并且您需要从docker
cli中按名称引用它,否则我不喜欢硬编码container_name。如果没有容器名称,则docker-
compose会给它一个不太直观的名称,但也会为它提供网络上redis的别名,这正是容器到容器联网所需要的。因此,这些建议的最终结果是:
version: '2'# do not forget the version line, this file syntax is invalid without itservices: redis: image: redis:latest ports: - "6379:6379" networks: - lognet app: container_name: web-app build: context: . dockerfile: Dockerfile ports: - "3000:3000" volumes: - ".:/webapp" depends_on: - redis networks: - lognetnetworks: lognet: driver: bridge



