1
shiny 251 天前 1
装在四个 docker 容器里,用 docker-compose 编排。这点消耗很少,除非你想榨干硬件性能,否则没有必要直接装 vps 。
|
2
3141592653 OP @shiny 谢谢。还不会 docker-compose ,需要去学习一下。
榨干是不可能榨干的,就我这水平和这需求,性能白白浪费的多。 |
3
fishtocat 251 天前 1
如果是小白的话,建议安装在 docker 里面
优势: 1. docker 提供了简单的自动重启机制,docker run -d --restart unless-stopped redis , 可以在 vps 重启的情况下自动启动服务,不用去学习较为复杂的 systemd 等机制 2. docker 提供了环境隔离,小白容易配置出错导致服务异常,如果是 docker 的话,直接删除容器即可,不会担心会有残留的配置文件影响后续的部署 至于性能,docker 本身并不会占用多少性能,参考 https://ieeexplore.ieee.org/document/7095802 |
4
shiny 251 天前 1
能够全部装 docker 里维护会更方便,比如要迁移机器,只要新机器上装上 docker ,旧机器上 docker 停下,直接拷文件到新机器吗,一个 docker compose up -d 就可以开起来。
不用 docker 的话,时间久了自己怎么配置的都会不记得,一旦出现问题,回忆安装时候的路径什么的都是个麻烦事。 确实学习略有成本,但是一旦掌握,投入在运维上的时间能大幅下降。 |
5
3141592653 OP @fishtocat 好的,感谢。我也隐隐感觉安装在 docker 里比较方便,但是因为还不会 docker ,需要花点时间学习,所以一直没有去做。最近想做个短网址网站给自己用,caddy 和 nginx 应该是冲突的,所以又想起来 docker 了。
|
6
Baymaxbowen 251 天前
可以尝试在 WSL 折腾一下,跑通了再把 docker-compose 弄到线上服务器
|
7
3141592653 OP @shiny 谢谢,听人劝,吃饱饭。看来是有必要学学简单的 docker 操作的。各位大佬有没有快速上手的 docker 教程推荐?我一般都是直接搜网上的文章、教程,一步一步跟着做,到最后网站是能跑起来,好不好就不知道了哈哈哈
|
8
3141592653 OP @Baymaxbowen 再来个 WSL ,对我来说就有点操作压力了。
|
9
Baymaxbowen 251 天前 1
@3141592653 #8 window 的 Linux 子系统,你能折腾到现在,搞这个应该很简单,
|
10
shiny 251 天前
我在 2016 年入门 docker 时候最大的体会:一开始理解它的好处很难,总觉得它很麻烦;但是一旦理解之后就再也没回到过去的操作方式了。
我是通过纸质书学习的,内容几乎都是差不多的,网上文章也够丰富。 docker compose 则是通过官方文档学习的 https://docs.docker.com/compose/ 它能把 docker 命令参数写入文件里,并让多个容器互通,这样不必每次都写具体的 docker 命令参数。 另外补充下,国内使用最大的麻烦还是 dockerhub 速度太慢,而大多数国内镜像则不够稳定。当然,如果是境外 vps 就没有这种烦恼。 |
11
3141592653 OP @shiny 好的,再次感谢。回头好好学习一下。
|
12
28Sv0ngQfIE7Yloe 251 天前
我用 docker 很久了,积累了很多单 pod 的初始化脚本,但是 docker compose 用的不多,上周末我突发奇想用 gpt-4 帮我改造下,最终结果我很满意,OP 可以试试,大概了解下 compose 是个什么东西,再把需求交给 gpt 输出
|
13
3141592653 OP @Morii 有 gpt 辅助,确实可以省不少精力。
|
14
z1829909 251 天前 1
推荐这个, 先搭起来再去了解细节
https://github.com/1Panel-dev/1Panel |
15
3141592653 OP @z1829909 这个在站立搜索到了,也打算了解一下,谢谢推荐
|
16
javalaw2010 251 天前 1
虽然但是。。。如果没有一定的 docker 和 linux 的实战经验,小白直接上手 docker 的话大概率会觉得 docker 挺难用的。而且你的 VPS 上已经装了 caddy 就没必要 Nginx 的容器了,这一来你可用的相关教程又少了一些。。。
所以我建议先在虚拟机里多实验实验吧,然后把每一步命令都找个文档记下来。 docker 并不是虚拟机方案,所以消耗的话你可以就当没有 docker ,直接在 vps 上运行这些应用的压力跟使用 docker 运行大差不差。 |
17
3141592653 OP @javalaw2010 确实是的,我就是多次听说 docker 的好,但是实际上手起来又有点难度,碰壁好几次,都没把它啃下来。
其实我也不想装 nginx ,只是因为 yourls 这个程序的教程大多是用 nginx 的,当然道理是相通的,caddy 应该也能用,但对小白的我来说,更难啊。 所以我想如果用 docker 的话,我是不是就可以放心在一台 VPS 上装多种环境了,至少 caddy 和 nginx 共存了,就能解决我的问题了。我就建几个站,常用的就 LAMP 、LNMP 那些东西,很基础很小白的,但遇到问题又烦死个人。 |
18
javalaw2010 251 天前 1
@3141592653 #17 你所谓的 caddy 和 nginx 的共存问题其实是端口占用冲突吧?那么只要你想你的 caddy 站点和 nginx 站点同时监听在 80/443 端口就一定会冲突,docker 也不能解决这个问题的,如果不需要同时监听 80/443 端口,那么不需要 docker 也可以实现。如果你乐在其中的话可以慢慢磨,可以学习到很多东西,如果只是想尽快使用的话,找个懂一点的朋友帮你弄好吧。
|
19
3141592653 OP @javalaw2010 受教了,谢谢。可能真的是你说的“端口占用冲突”的问题。
|
20
3141592653 OP @javalaw2010 也就是说,如果我的网站需要同时监听 80/443 ,在一台服务器上,我就只能 caddy/nginx 二选一,对吗?
我做个小网站,虽然是自己用的,但还是想“正常”访问,不想在域名上加端口号。 如果只能二选一,那应该是选 nginx 更好吧,大众一点,资料多一点。话说现在用 caddy 还挺方便的,代码少,简单,证书自动续期。nginx 相比 caddy 就复杂多了。 |
21
IvanLi127 251 天前
@3141592653 常见的用例下,caddy 配置比 nginx 简单很多,而且需要配的东西也少,省得去找资料改配置。改配置很容易疏忽踩出新坑。
|
22
3141592653 OP @IvanLi127 是的,caddy 确实比 nginx 简单得多,自动申请和续费证书这一点很省事
|
23
javalaw2010 251 天前 1
@3141592653 #20 对的,只能二选一,但是这俩都支持 virtual host ,换个说法两个只要选择一个就够了。但也有折中的办法,叫做“反向代理”,假设你的 nginx 站点在 8080 端口上,那么你在 caddy 上配置一个 80/443 的站点反向代理到 localhost:8080 也可以实现“正常访问”,不过就是有点脱裤子放屁了。
|
24
3141592653 OP @javalaw2010 了解了,对我很有用,非常感谢。
|
25
DT27 195 天前
有现成的 docker 镜像: https://hub.docker.com/_/yourls
|