如何在同一网络上运行docker

编程入门 行业动态 更新时间:2024-10-06 16:16:46

如何<a href=https://www.elefans.com/category/jswz/34/1771019.html style=在同一网络上运行docker"/>

如何在同一网络上运行docker

我运行2个Docker容器。一种是mongodb容器。另一个是Node.js应用容器,它试图连接到该mongodb容器。

如果我在没有docker的node.js应用上通过“ npm run start”运行,它将运行良好。它仅使用“ mongodb:// localhost:27017 / myproject”连接到mongodb容器。

但是它在dockerized node.js应用程序上不起作用。 它确实连接到Mongo DB在“ mongoose.connect”方法上。

但是当我在编译后实际上连接到浏览器时,它说:

(node:32) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined

似乎node.js容器连接到mongodb容器存在问题,因此无法获得任何内容,因此数据未定义。

我执行的步骤:

通过以下命令,我首先创建了mongodb容器:

sudo docker container run --name mymongodb --publish 27017:27017 -d mongo

然后,在node.js应用程序上,我简单地:

docker-compose build
docker-compose up

我的docker-compose.yml:

version: "2"
services:
  myapp:
    container_name: mycontainer
    restart: always
    build: .
    ports:
      - "3001:3001"
    network_mode: host

上面的错误是什么问题?

回答如下:

通常,我们不在开发人员上使用network_mode: host。默认情况下,docker-compose将为您的项目创建一个网络,并且所有容器都可以使用其容器名称进行通信。

更多推荐

如何在同一网络上运行docker

本文发布于:2024-05-07 11:46:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756099.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:在同一   网络   docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!