可否用 docker 创建多个远程用户可用的 wordpress 环境 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiyangyang
V2EX    编程

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

  •  
  •   xiyangyang 2017 年 7 月 15 日 3699 次点击
    这是一个创建于 3163 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    只有一台台式机,可以配成 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 年 7 月 15 日   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 年 7 月 15 日
    docker 完全符合你的场景。而且一旦完成环境搭建,后续维护成本很低。

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

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


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

    Java 只是在大学里学过,不太清楚现在的 ecosystem 发展到什么状况了。 当时我记得都是在本机的。环境搭建什么的也没有 wordpress 那么多步骤,让学生在自己的机子上用应该没有问题。
    iceheart
        9
    iceheart  
       2017 年 11 月 23 日 via Android
    用 virtuozzo 啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5804 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 57ms UTC 01:51 PVG 09:51 LAX 18:51 JFK 21:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86