docker - 如何进行名称解析。使用 docker compose 和 docker network 时发生 net::ERR_NAME_NOT_RESOLVED 错误
问题描述
如何进行名称解析。使用 docker compose 和 docker network 时发生 net::ERR_NAME_NOT_RESOLVED 错误
你好。
当我使用 docker compose 和 docker network 创建前端服务器和后端服务器和数据库服务器时,net::ERR_NAME_NOT_RESOLVED
发生在 google chrome 控制台中。
下面的文件是我的docker-compose.yml
.
我保证后端容器与前端容器的通信没有问题,因为我附加到前端容器(使用命令docker exec -it frontend-container /bin/bash
)并确认通信(使用命令curl backend-container:4000
)。但是,当我尝试从 Web 浏览器(前端应用程序)通信后端容器时,net::ERR_NAME_NOT_RESOLVED
发生在 chrome 开发人员控制台中。
我认为名称解析不是从网络浏览器进行的。但是我不知道在这种情况下如何命名解析。
请帮助我并教我如何在这种情况下解析名称。谢谢你。
version: "3.5"
services:
frontend:
build:
context: "./project01_frontend"
dockerfile: "Dockerfile.prod"
container_name: frontend-container
restart: always
tty: true
ports:
- "80:80"
env_file:
- "./project01_frontend/.env"
depends_on:
- "db"
- "backend"
backend:
build:
context: "./project01_backend"
dockerfile: "Dockerfile.dev"
container_name: backend-container
restart: always
tty: true
expose:
- "4000"
env_file:
- "./project01_backend/.env"
depends_on:
- "db"
command: ["./wait-for-db-container.sh", "yarn", "start"]
db:
image: mysql:5.7.34
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
container_name: db-container
volumes:
- ./project01_backend/initdb.d:/docker-entrypoint-initdb.d
environment:
MYSQL_DATABASE: "typeorm_db"
MYSQL_ROOT_PASSWORD: "password"
TZ: "Asia/Tokyo"
restart: "always"
expose:
- "3306"
解决方案
推荐阅读
- docker - Docker-compose yaml.scanner.ScannerError:此处不允许映射值
- reactjs - 如何在 jest 和酵素中测试输入类型
- javascript - Bootstrap 4:在 foreach 循环中将一个图标与另一个图标交换的最佳方法是什么?
- python - 来自 .max() 的值作为 Python 中的新数据框
- event-handling - 组件根上的单击事件不起作用
- python - tree.xpath 返回空列表
- python - Python什么时候重置线程数?
- python - 有没有办法在 Windows 上设置 mobfs 而不会出现此错误?
- javascript - 可访问性 javascript:使向下箭头键模拟 TAB 键
- jpa - 在同一个 @Transaction JPA 中保存和更新