作为Linux系统管理员,或多或少都有可能据说过Docker。由于这款软件可以有效减低营运成本,提高系统布署速率,让系统管理工作显得非常轻松。
但这一切也不是变魔术,Docker只是一个容器管理平台,可以跨平台运行各类应用软件及相应工具容器的平台。换句话说,容器化的软件可以在不同系统平台直接运行而不须要任何更改,而由运行在不同系统的Docker来管理容器软件的运行。另外,同虚拟机相比,创建、停止和维护这种容器都相对容易得多,假如想仔细了解Docker同虚拟机之间的差别docker部署web应用,可以访问Docker官方网站进行了解。
本文将实例演示怎么在CentOS7系统和Ubuntu16.04系统安装Dockerdocker部署web应用,并从DockerHub获得Apache2.4容器。以后,我们就会演示怎么借助Aapache容器来充当一个Web服务器,显示网页内容,而我们的主机是不须要安装任何Web服务器的。
1.CentOS和Ubuntu安装Docker
安装Docker比较简单,只须要使用如下命令,无论是CentOS系统还是Ubuntu系统都可以执行。该命令实际上执行一个Docker的安装脚本,该脚本会手动将Docker软件库添加到系统linux启动盘制作工具,之后安装相应的软件包。
# curl -fsSL https://get.docker.com | sh
假如运行这条命令系统没有反应,也可以直接访问将脚本下载出来,之后保存成”.sh”文件在系统里执行,实在不会的话,可以点击这儿下载安装脚本。安装完成后会听到提示建议使用”docker”用户来执行程序,测试的话不太须要,实际生产环境建议使用非root用户,降低系统安全性。
安装完成后,可以使用如下命令启动docker:
# systemctl start docker
# systemctl status docker
假如见到如图所示的内容,就表示Docker早已安装成功,但是服务早已启动。使用Docker只须要运行如下命令:
# docker
想要查看特定命令的帮助信息,则使用以下命令:
# docker COMMAND --help
比如想查看Docker的版本信息,则使用以下命令:
# docker version --help
# docker version
执行结果如右图所示:
2.创建Apache容器
Docker生态系统最吸引人的地方在于你可以任意下载并使用数以万计的已有容器。接出来,我们将创建一个名为”Rultr-web”的Apache2.4容器,这个容器将脱离于当前终端独立运行。为实现此功能,我们须要从DockerHub下载一个apache2.4的镜像文件。
假定我们将VPS的8080端口重定向到容器的80端口,另外,我们不想从容器中提供web页面,而是使用”/home/user/website”作为容器中Apache的文件目录。想要实现该功能,就须要将”/home/user/website”这个VPS实际目录映射到容器中的”/usr/local/apache2/htdocs/”目录,同时注意执行以下命令时须要具有root用户权限,须要的话适当使用sudo:
# docker run -dit --name Rultr-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
如今,可以查看一下容器的状态,理论上Apache容器早已运行上去了:
# docker ps
接着要做的就是在系统的”/home/user/website”目录里创建页面文件,以验证容器中的Apache服务器启动成功,但是目录映射正确。
# vi /home/user/website/docker.html
简单起见,”docker.html”文件只有如下内容:
Learn Docker at rultr.com
Learn Docker With Us
之后,就可以通过浏览器访问VPS的IP地址来访问”docker.html”文件了,还记得我们是将容器的80端口映射到VPS的8080端口了么,所以,访问的地址应当形如”AAA.BBB.CCC.DDD:8080/docker.html”,成功的话就可以看到如下内容:
然后就是一些操作容器的命令,可以进行容器的停止、删除以及删掉容器镜像等。
# docker stop Rultr-web //停止容器
# docker remove Rultr-web //删除容器
# docker image remove httpd:2.4 //删除镜像
本文只是简单介绍怎么安装Docker和使用容器实例,假如想深入了解Docker的使用linux安装教程,则请访问官方网站学习。