集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

业界新闻

当前位置:首页 > >业界新闻 > >

Docker建网站 4条命令搞定

发布时间: 2018-11-30 16:28:23

  Docker建网站 4条命令搞定

  提起云计算,肯定少不了kvm和Docker这两个重量级的角色。没有这两位,就没有云计算。其中,Docker可能更重要。
  我不想跟大家讲Docker的概念什么的。你只需要知道它很厉害就成了!而我呢,只想拿Docker来建一个网站给大家瞧瞧。呵呵,高射炮打蚊子?关键是,高射炮还真打不着蚊子。Docker却真的能建网站。在只有一个操作系统的情况下,用Wordpress建网站,只需要3条命令行!
  先看看,不用Docker,传统模式下,如何建设起一个网站来。一般会经过以下四个步骤。是步骤,不是命令行。要数命令行,差不多有30多行的样子。
  第1步:安装Apache
  第2步:安装MariaDB
  第3步:安装PHP
  第4步:安装Wordpress
  上面的四步,不管你用什么yum,还是用rpm,或者编译安装,最少得1个小时。其中,还要专门为Apahce安装一个特别的模块apxs。还要修改Apahce的主配置文件;添加一个虚拟主机的配置文件;在MariaDB里内为Wordpress创建用户和数据库。最后,开通防火墙,恢复网页目录的SELinux安全上下文标签等等,步骤很多,非常繁琐。我在几所学校里提供Linux实训时使用上面的四步,输入的命令行数十行,讲解并完成上述过程一般都需要四节课的时间。
  在运行Docker的方法前,看看我的运行环境:
  硬件主机:小米笔记本电脑,运行Windows 10
  操作系统:VirtualBox下的Ubuntu 18

  网络条件:Ubuntu已经联通互联网

Docker

  上图中,演示的环境比较复杂。如果我们在一台安装着Linux操作系统的电脑上,如租用的Linux云主机上,就没有这么多层次。
  第1条命令:安装Docker
  $ sudo apt-get install docker.io
  第2条命令:将普通加入Docker组
  $ sudo gpasswd -a alan docker
  将当前的普通用户alan添加到docker组内。你安装的时候,创建的普通用户是谁,你就把alan替换成那个用户名,就成了。
  第3条命令:创建MariaDB的容器
  $ docker run --name mariadb-test -e MYSQL_ROOT_PASSWORD=123456Abcd -d mariadb
  在MariaDB里,为root用户设置了一个密码:123456Abcd。这么长的密码是Wordpress要求的:有数字,有大、小写字母。容器的名字叫 mariadb-test,要运行的是一个名叫maria的软件。我的Ubuntu里没有它的镜像,便直接从hub.docker.com上下载。
  第4条命令:创建Wordpress的命令
  $ docker run --name wordpress-test --link mariadb-test:mysql -p 80 -d wordpress
  创建,并运行一个名叫wordpress-test的容器,还扯上那个名叫mariadb-test的,并且要开通80端口。
  第5条命令:查看日志
  $ docker logs 630e
  630e是上一条命令返回的一长串字符——即一个名叫wordpress-test的容器的ID的前4位。当然,你看到的ID肯定不同。你只需要使用前面的4位即可。我们这条命令是要查看该容器的运行信息。如果前面的id不显示,或你弄丢了。就输入docker container ls查找容器的id。在里面我们会看到一个IP地址,可能是172.17.0.3。你看到的内容可能是这样的:
  alan@alan-VirtualBox:~$ docker logs 630e
  WordPress not found in /var/www/html - copying now...
  Complete! WordPress has been successfully copied to /var/www/html
  AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
  AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
  [Thu Nov 29 15:28:13.306609 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations
  [Thu Nov 29 15:28:13.306730 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
  第6条命令:访问网站后台
  $ firewfox http://172.17.0.3 &
  这条命令运行之后,在弹出来的Firefox窗口内,为网站管理后台设置一个用户,并为该用户设置一个密码。你可以直接登录进去,发布一篇文章试试。然后,再打开一个浏览器窗口,再次输入 http://172.17.0.3,看到的就是网站的前台页面了。
  等等,不是说4条命令就搞定吗?怎么运行了6条命令呢?其实,第3命令运行的时候,已经完成了网站的创建。第4条、第5条、第6条,仅仅是为网站设设置管理账号而已。就算是6条,也很快,对吧?

  Wordpress可能是最著名的CMS软件,功能强大,非常灵活,图片、模板、布局等等都可以自定义。如果你会琢磨,肯定能利用后台把网站整出很多花样来。


  有人问,我用的是CentOS操作系统行吗?当然行。
  第1条命令: su
  第2条命令:yum -y install docker
  为简便起见,你直接变成root用户得了。后面的命令跟Ubuntu里的一样。
  Docker可以做很多事情。建设网站,不过是众多功能中的一种。红帽公司将Docker与Google公司开源出来调试软件Kubernetes放在一起,再加上etcd这个强大的分布式配置进程,以及Ansible自动化工具等等,便成了三大云计算应用场景中的PaaS开源系统OpenShift。而OpenShift则是红帽高级认证RHCA(云计算方向)五门核心课程之一。想Docker培训习的话,赶快来腾科报名吧。

上一篇: 华为考试的内容及其相关的流程

下一篇: 过气的ifconfig,你还在用吗?

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!