V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiyangyang
V2EX  ›  编程

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

  •  
  •   xiyangyang · 2017-07-15 09:42:01 +08:00 · 3390 次点击
    这是一个创建于 2717 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    请大牛们支招。

    9 条回复    2017-11-23 10:10:30 +08:00
    sfree2005
        1
    sfree2005  
       2017-07-15 10:32:44 +08:00   ❤️ 1
    你的学生需要学习 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
        2
    leopku  
       2017-07-15 11:21:25 +08:00
    docker 完全符合你的场景。而且一旦完成环境搭建,后续维护成本很低。

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

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


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

    Java 只是在大学里学过,不太清楚现在的 ecosystem 发展到什么状况了。 当时我记得都是在本机的。环境搭建什么的也没有 wordpress 那么多步骤,让学生在自己的机子上用应该没有问题。
    iceheart
        9
    iceheart  
       2017-11-23 10:10:30 +08:00 via Android
    用 virtuozzo 啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2642 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:38 · PVG 18:38 · LAX 02:38 · JFK 05:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.