近期入门 docker ,看了几篇文章,对照 gitea 开源项目给自己的项目写 dockerfile 。发现有一点不一样的地方:我的前端项目打包后托管在 Nginx ,后端用 Python uvicorn 服务,于是我做了两个 image ,一个基于 Nginx ,另一个基于 Python ,在同一个电脑运行,但是这样连接时就犯难了,我想了几个方案麻烦问下各位一般都用哪种?
- 都使用 host mode ,Nginx 配置文件转发后端的时候固定为 127.0.0.1 。不过这样在托管 container 时好像就不能重定向 port 了。
- 建立 network 桥,这样是能互通了,但是后端容器的 IP 不固定,需要在 docker-compose 里写 external_links ,但是怎么再把这个地址写到前端容器的 nginx.config 里,又感觉很麻烦,潜意识觉得绕了路子。
- 前后端打包到一个 image 里......也感觉不太对,生成 image 又绕了路子 思来想去好像都不太对,开源项目又大部分是在一个 image 里,想问下这种情况大家都是怎么处理的?
