提起云计算,确定少不了kvm和Docker这两个重量级的角色。没有这两位,就没有云计算。其中,Docker可能更重要。html
我不想跟你们讲Docker的概念什么的。你只须要知道它很厉害就成了!而我呢,只想拿Docker来建一个网站给你们瞧瞧。呵呵,高射炮打蚊子?关键是,高射炮还真打不着蚊子。Docker却真的能建网站。在只有一个操做系统的状况下,用Wordpress建网站,只须要4条命令行!
先看看,不用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已经联通互联网mysql
上图中,演示的环境比较复杂。若是咱们在一台安装着Linux操做系统的电脑上,如租用的Linux云主机上,就没有这么多层次。
第1条命令:安装Dockersql
$ sudo apt-get install docker.io
第2条命令:将普通用户加入Docker组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的命令apache
$ 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。你看到的内容多是这样的:
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'安全
$ firewfox http://172.17.0.3 &
这条命令运行以后,在弹出来的Firefox窗口内,为网站管理后台设置一个用户,并为该用户设置一个密码。你能够直接登陆进去,发布一篇文章试试。而后,再打开一个浏览器窗口,再次输入 http://172.17.0.3,看到的就是网站的前台页面了。
等等,不是说4条命令就搞定吗?怎么运行了6条命令呢?其实,第4行命令运行的时候,已经完成了网站的建立。第4条、第5条、第6条,仅仅是为网站设设置管理帐号而已。就算是6条,也很快,对吧?
Wordpress多是最著名的CMS软件,功能强大,很是灵活,图片、模板、布局等等均可以自定义。若是你会琢磨,确定能利用后台把网站整出不少花样来。bash
有人问,我用的是CentOS操做系统行吗?固然行。
第1条命令: su
第2条命令:yum -y install docker
为简便起见,你直接变成root用户得了。后面的命令跟Ubuntu里的同样。
Docker能够作不少事情。建设网站,不过是众多功能中的一种。红帽公司将Docker与Google公司开源出来调试软件Kubernetes放在一块儿,再加上etcd这个强大的分布式配置进程,以及Ansible自动化工具等等,便成了三大云计算应用场景中的PaaS开源系统OpenShift。而OpenShift则是红帽高级认证RHCA(云计算方向)五门核心课程之一。想学习的话,赶快来腾科报名吧。网络