完成博客工作,然后是 Docker Traefik | GGAMI.NET
呼…… 까미넷博客的工作终于做完了…… 就因为删除实例,怎么这么折腾啊……
本该是制作 Docker 镜像的时间…… 我却在弄博客……

但更好笑的是,我在浏览器里还有一篇在删除 까미넷 实例之前写的文章……
本来应该连登录状态也失效才对…… 但实例被删除后,调用失败了,所以好像也没到那种程度……
正如上面写的,我现在正打算用 Docker 来搭建服务器……
因为现有的 Linux 服务器上有正在运行的服务,所以我打算先把这些服务暂时迁移到 GCP…… 然后全部换成 Docker……
不过,Docker 这东西说难也难…… 但我觉得学会之后应该会非常方便。
不过,Linux 服务器上有几个 Web 服务器在运行,而在 Docker 里,每个容器都可以运行 Web 服务器…… 那么,要怎么同时运行多个呢……?我对此很好奇。
答案就是使用一种叫作“reverse proxy”的东西。
实际上,Docker Hub 上就有直接提供反向代理的镜像。
但是,据说像上面这种实现反向代理的镜像,或者自己直接创建使用反向代理的容器时(?),会有问题。
问题就在于,无法使用 Docker Swarm。
当然,我运营的服务还没有达到需要做分布式、负载均衡之类工作的程度……不过,既然要做……我觉得最好还是把尽可能多的变化因素考虑在内再动手……于是我就去了解了一下,发现了:
这个服务就像上面这样,在访问同一个域名时也可以进行负载均衡,还支持 Docker Swarm。
它也会根据访问时使用的域名,将请求连接到对应服务的容器。
所以,虽然也可以直接使用“reverse proxy”,但我觉得还是用 Traefik 服务更好。(分布式 + 反向代理)
所以我打算先制作好开发或运营当前服务所需的镜像,然后进行开发和相关工作。等在 Linux 上安装好 Docker 之后,再试着用 Traefik 进行配置。
- Traefik(分布式及反向代理)
- MYSQL 容器(使用外部卷)
- Redis 容器(使用外部卷)
- Mongodb 容器(使用外部卷)
- Coinnet 前端(Nuxt.js)
- Coinnet 后端(Laravel)
- Coinnet Node.js Socket 服务器 1..2..3..4....
- 图片服务器 API(Laravel Lumen)
- 现有服务1
- 现有服务2
比想象中多得多……
现有服务1、现有服务2和 Coinnet 都不会单独使用数据库,而是打算连接到对应的数据库容器。
如果服务规模很大,原本确实应该拆分开来做,但我运营的服务本身并不大……我觉得要是以后规模变大了,到时候再处理也比较好……
(而且,如果像 Coinnet - DB容器1、现有服务1 - DB容器2、现有服务2 - DB容器3 这样分别连接不同的数据库容器,那我工作起来得有多辛苦啊……我觉得用 Navicat 来回连接也不会那么容易。)