可否用 docker 创建多个远程用户可用的 wordpress 环境

2017-07-15 09:42:01 +08:00
 xiyangyang

接前面的给小朋友做教网站编程的环境发帖。

只有一台台式机,可以配成 centos+LNMP+WordPress 环境。想在上面利用 docker 建成一个支持多远程用户的 wordpress 系统。给每个孩子开个账号,他们可以远程 ssh 登录上来。每个人可以有自己的 wordpress 环境,建立自己的个人网站。

第一个问题是:如何建立这样的 docker+wordpress 环境; 第二个问题:如果这样可行,怎么把这个台式机的公网 IP 和多个学生的 wordpress 网站映射起来。这些 wordpress 网站实际上是在 docker 里。

请大牛们支招。

3354 次点击
所在节点    编程
9 条回复
sfree2005
2017-07-15 10:32:44 +08:00
你的学生需要学习 linux 的命令和配置之类的吗?还是只是学 wordpress ? 如果是后者,不用 docker 也可以,他 ssh 上来,你限制好权限就没有问题。

1. CentOS 上配置好 LNMP+Wordpress
2. 创建对应的 linux 用户和 web 根目录给学生
3. Mysql 里面就是创建不同的数据库和用户分配给不同的学生。
4. 在 Nginx 里配置子域名( server_name )和对应的 web 根目录给不同学生,在学生机子 hosts 文件里写入子域名对应到你的公网 IP。

所以最后每个学生就有了自己的
- Linux 用户名:studentX
- Web 根目录: /home/studentX/www/
- Mysql 数据库和用户
- 子域名:studentX.your-domain.dev
- 学生本机 hosts 文件: [你的公网 IP] studentX.your-domain.dev

然后让学生把 wordpress 的安装包拷贝到自己的 web 根目录里面,访问 studentX.your-domain.dev 就可以安装和各种玩了。
leopku
2017-07-15 11:21:25 +08:00
docker 完全符合你的场景。而且一旦完成环境搭建,后续维护成本很低。

第一个问题:你需要一个类似 k8s 之类的 docker 管理系统
第二个问题:需要一些开发工作。在启动 docker 容器的时候添加一个标签,即可实现域名与容器的对应。学生通过域名(而不是 IP )访问容器。

可以提供付费的整套环境搭建服务(在公司已经部署同等方案),包含解决第一、第二两个问题。有意留个联系方式。
mkeith
2017-07-15 12:13:37 +08:00
你是要教 Linux 还是建站啊


Wordpress 搭建一个虚拟主机的环境➕控制面板的,ftp 上传代码
xspoco
2017-07-16 04:06:35 +08:00
第一个问题,我觉得 centos+宝塔面板( bt.cn )搭建这个环境就行了。
xiyangyang
2017-07-16 13:44:11 +08:00
@leopku 请联系 hithorse@hotmail.com
xiyangyang
2017-07-16 13:51:39 +08:00
@xspoco 谢谢! bt.cn 是基于 docker 的吗?
xiyangyang
2017-07-16 13:54:48 +08:00
@sfree2005 目前是教他们 wordpress,但接下来也需要教他们 linux 命令和 Java 编程之类的东西。
你写的很详细,实在是太感谢了!
我明天先去试试。
Java 编程,不知道可否用类似的思路,做一些 docker 的虚拟机,让学生登录到我的台式机的 Java
ide 环境中来
sfree2005
2017-07-16 14:07:34 +08:00
@xiyangyang #7 linux 命令可以先教那些不用 root 权限的,那个也可以学到很多,再教些 vim 的基本操作也可以用蛮久了。即使是你是在 docker 里有 root 权限,不是所有命令都有,因为为了简化,很多包都没有安装。

Java 只是在大学里学过,不太清楚现在的 ecosystem 发展到什么状况了。 当时我记得都是在本机的。环境搭建什么的也没有 wordpress 那么多步骤,让学生在自己的机子上用应该没有问题。
iceheart
2017-11-23 10:10:30 +08:00
用 virtuozzo 啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX