使用Docker搭建http服务器一台。
要求搭建完成后映射docker80端口。httpd页面显示本身的名字和IP地址html
Docker简介
Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口。Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和建立Docker容器。Docker 容器经过 Docker 镜像来建立。容器与镜像的关系相似于面向对象编程中的对象与类。官网地址:http://www.docker.com/linux
docker所需环境准备web
系统要求CentOS 7.X 以上版本,内核至少3.10,64-bitdocker
建立docker的yum库apache
安装docker编程
启动docker服务并设置开机自动启动centos
验证docker是否安装成功浏览器
查看安装后的docker版本bash
Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有本身书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,相似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的代表image是怎么产生的。有了Dockerfile,当咱们须要定制本身额外的需求时,只需在Dockerfile上添加或者修改指令,从新生成image便可,省去了敲命令的麻烦。服务器
之因此提到这个是由于,在build镜像的过程当中须要从服务器pull images,可是不幸的的Docker官网已经被墙,因此须要借助国内第三方,我使用的阿里云的。
安装或升级Docker
您能够经过阿里云的镜像仓库下载: mirrors.aliyun.com/help/docker-engine
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
配置Docker加速器
您可使用以下的脚本将mirror的配置添加到docker daemon的启动参数中。
系统要求 CentOS 7 以上,Docker 1.9 以上。
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://g9d5s6dr.mirror.aliyuncs.com|g" sudo systemctl daemon-reload sudo service docker restart
Dockerfile文件内容以下:
run-httpd.sh脚本内容以下
注意:Dockerfile需借助脚原本重启httpd服务,而且最好放置于同一目录
此时经过Dockerfile建立的镜像已经建立成功,并没有报错
接下来运行容器
docker run -it -p 80:80 liuqiang/httpd:centos6
docker: Error response from daemon: failed to create endpoint clever_keller on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
启动
浏览器测试确认下