如何链接前端和后端docker容器

weixin_38075910 2019-09-12 01:19:01
我目前使用Postgresql作为数据库开发Spring Boot和reactJs应用程序.我的Spring和我的reactJs应用程序分为两个单独的项目.我尝试使用docker-compose将我的应用程序停靠.所以在服务器端我有我的postgresql和我在docker-compose文件中定义的springboot服务.这是 version: '3' services: app: image: app depends_on: - mypostgres ports: - "9000:8086" environment: - DATABASE_HOST=mypostgres - DATABASE_USER=root - DATABASE_PASSWORD=root - DATABASE_NAME=test - DATABASE_PORT=5432 mypostgres: image: postgres:9.6-alpine container_name: mypostgres ports: - "5433:5432" environment: - POSTGRES_PASSWORD=root - POSTGRES_USER=root - POSTGRES_DB=irooldb volumes: - ./postgres-data:/var/lib/postgresql/data 对于客户端,我没有使用docker-compose我只添加了一个Dockerfile并在一个单独的容器中运行我的客户端应用程序. 我的问题是: 如何将我的客户端Container链接到我的服务器端容器? 我应该在位于服务器端项目的docker-compose文件中定义客户端服务吗?或者他们可以分开运行吗?
...全文
248 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38124179 2019-09-12
  • 打赏
  • 举报
回复
should I define a client service in the docker-compose file situated in the server side project? 这是一个选项,这可能是最简单,最直接的选择.默认情况下,docker-compose为每个docker-compose.yml定义的服务设置一个docker网络.由于所有服务都在同一网络上,因此它们可以通过主机名相互解析,即您的客户端应用程序将到达后端,如http:// app:9000 / api / login /,其中您使用docker-compose服务名称作为主人. Or is it okay that they run sepratly ? 如果你愿意,可以单独运行它们.您需要做一些修改以确保前端可以到达后端.两种选择是: >手动创建docker bridge网络. Here are the docs for that.您只想使用docker network create,add that network in your docker-compose定义网络,并确保在docker运行它时使用–network选项将前端容器放在同一网络中.同样,您可以在docker-compose.yml中定义一个新网络,跳过手工创建它,并将您的前端容器放在该网络中. 这些#1选项中的任何一个最终都会变脆,因为在运行前端或者可能是docker-compose堆栈之前,您需要确保网络在那里.无论如何,这是一个选择. 在桥接模式(默认为网络模式)中,引用容器中的localhost不会引用主机.例如,从您的前端卷曲localhost:9000将尝试卷曲端口9000上的前端容器.应用程序服务中的curl localhost:9000应该成功,因为它正在卷曲自己. >使用主机网络驱动程序,which will put your containers on your host network by removing the Docker network isolation.然后一切都只使用localhost:< port>互相交谈. 如果你没有将前端保持在docker-compose.yml之外的好例子,我会鼓励你把它添加到那里并完成.这样做会将很多想法转移到docker-compose上.如果你使用CI管道,它也会更好地扩展,并且更容易交给另一个开发人员,因为它都在一个整洁的包中.祝好运!

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧