【发布时间】:2020-10-16 08:35:21
【问题描述】:
我正在尝试让我的 nodejs API 在 docker 容器中运行,以连接到在不同容器中运行的 mongodb。
当我运行命令 docker ps 时,我得到以下输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ad1f567f713 mongo "docker-entrypoint.s…" 6 hours ago Up 24 minutes 0.0.0.0:27017->27017/tcp mongodb
然后我运行了这个命令docker run --publish 3000:3000 --name my-api my-api:1.0,但这给了我这个超时错误
(node:37) UnhandledPromiseRejectionWarning: MongoTimeoutError: Server selection timed out after 30000 ms
然后我尝试了这个命令 docker run --publish 3000:3000 --net 2ad1f567f713:mongodb --name my-api my-api:1.0,但出现了这个错误:
docker: Error response from daemon: network 2ad1f567f713:mongodb not found.
我做错了什么?
【问题讨论】:
-
您需要
docker network createa network,然后docker run --net ...同一网络上的两个容器。如果您使用 Docker Compose 启动容器,it will create a network for you.