本文为原创文章,转载请注明出处!
docker是一个开源的容器引擎,其核心部件docker镜像,docker镜像可以理解为预装了一些应
用程序的操作系统镜像(也有没有搭建任何环境的初始镜像)
docker可以用来快速部署应用程序需要运行的环境以及各种依赖
比如如果我们要运行一个依赖于lamp环境的web应用,那么我们只需要直接pull一个lamp的镜
像,然后用此镜像创建一个容器来运行我们的web应用,而不需要我们自己再搭建lamp环境。
快速搭建环境,体积小(一个docker镜像的体积可能只是虚拟机镜像的十分之一),跨平台运行
作为安全人员,我们可能会经常搭建一些web环境,传统的搭建方法都很繁琐低效,而docker的应用可以大大提高我们搭建环境的效率。这篇文章会介绍一些docker在搭建web环境中的一些简单应用,如果读者想要深入的学习docker,可以自行查阅官方文档。
部署基于lamp环境的web应用
第一步:用dockersearch命令搜索lamp镜像
dockersearch image_name
第二步:选择一个docker镜像,将他pull下来默认的tag是latest(相当于版本号),我们选择tutum/lamp镜像
dockerpull image:tag
然后我们查看一下我们docker已经有哪些镜像了
dockerimages
第三步:用该镜像创建并运行一个容器,并通过端口映射将容器的80端口映射到主机的8080端口
dockerrun -d --name=container_name -p 8080:80 tutum/lamp
dockerexec -it container_name /bin/bash
我们可以看到root@后面的用户名已经改变了,成功进入容器内部
然后切换到/var/ww/html目录
cd/var/www/html
然后把我们的web应用程序放在html目录下,然后执行如下命令启动apache
serviceapache2 start
我们可以用ctrl+p+ctrl+q退出容器,并后台运行容器,然后再访问主机的8080端口
我们可以看到,web服务已经成功运行了
除了这种在容器内部部署web应用程序的方法,docker还提供了一种挂载目录的方法,通过-v参数,将主机目录挂载到容器的某个目录。
dockerrun -d --name=test -p 9090:80 -v /var/test/:/var/www/html tutum/lamp
/var/test/目录下index.html文件内容如下:
<h1>
helloworld
</h1>
现在访问一下9090端口
挂载成功,如果需要修改文件就只用修改在主机上挂载的文件就可以了
有些时候,我们pull下来的镜像并不能满足我们的要求,那么我们可以在其基础上在进行改动,然后把改动后的容器打包成镜像方便我们后面使用。举个例子:比如我们pull下来的tutum/lamp镜像没有安装vim,那么我们可以在里面安装好vim,然后将其打包为一个新的镜像,以后用这个镜像创建的容器就有vim了。
把容器打包为镜像需要使用dockercommit命令:
dockercommit -a "Drac0nids" -m "lamp base"container_nameimage_namedockercommit命令的具体用法如下:
docker仓库的使用
这里会出现如下错误信息
denied:requestedaccesstothe resource isdenied文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。