在docer上安装apache镜像
2015-05-29 11:19
573 查看
在docker中安装一个apache服务器(基于Ubuntu),并在外部电脑访问这个服务器
上篇博客中,我们讨论了如何在ubuntu 14.04(64位)中安装一个docker应用,以及docker的一些基本命令的用法及其解释:
http://blog.csdn.net/liujan511536/article/details/46227169
接下来我们说下如何利用docker来建一个apache服务器镜像,并把我们的html文件传到这个镜像里,最终我们可以在dcoker外的电脑访问到这个docker中的apache服务器。
这里架设服务器我用的是xampp。
注意:如果你对下面的某些命令有不理解的地方,请看我的上一篇博客。
首先下载xampp,选linux版本:
下载地址:https://www.apachefriends.org/download.html
启动docker:
或者用这条命令:
(如果启动有什么问题的话,请看上篇博客末尾的常见问题)
然后把我们下载的xampp.run上传到容器中来,这里我的xampp.run放在/home/Download目录下,假设我的镜像名为ubuntu
运行上述命令后,就会启动了一个容器,并进入到容器命令行中;
接着安装xampp
(xampp在Ubuntu中默认安装路径为/opt/lampp)
进入容器中的tmp目录:
运行xampp.run(这里如果有什么权限问题,用sudo chmod 777 *解决):
然后就是安装的过程了,有需输入的地方,为了方便可以直接按Enter或者y就可以了。
安装完xampp后,紧接着输入:
显示是Command not found,因为我们还没把mysql的执行文件目录加入到环境变量PATH中。
把mysql执行文件目录(默认目录是/opt/lamp/bin)加入到PATH中:
打开.bashrc后,在其最后加上这句:
保存后退出vim,接着在输入一下命令使得上述修改生效:
以下命令可用来启动apache,mysql和php:
这时再输入mysql就可以进入的mysql解释器中了(输入exit可退出解释器)
接着在本机电脑中打开另一个命令行终端,输入:
来查看刚才运行的那个容器的id,然后退出那个容器(在容器命令行中输入exit),再将那个容器保存成新的镜像:
接着启动新保存的那个镜像,假设镜像名为ubuntu2:
在启动容器命令行中输入以下命令来启动apache和mysql:
到这里,就可以在本机电脑上访问上面容器中的apache服务器了。
打开本机电脑的浏览器,在地址栏中输入:
然后显示的页面就是xampp的页面了
(如果这里显示的页面是无法连接之类的,请关掉容器然后重新启动容器)
回到刚才那个容器的命令行来,进入到apache中存放html文件的目录中(默认为/opt/lampp/htdocs):
接着在htdcos目录下新建一个html文件:
文件内容为:
保存并退出vim。
接着在本机电脑浏览器地址栏中输入:
不出意外的话,你就可以看到helloworld了;如果有意外,比如显示access forbidden之类的,请回到容器命令行,进入到htdocs目录,修改hello.html的权限(sudo chmod 777 hello.html)。
到这里,你已经学会了如何利用docker来建一个apache服务器,并在外部电脑中访问容器中的网页。
上篇博客中,我们讨论了如何在ubuntu 14.04(64位)中安装一个docker应用,以及docker的一些基本命令的用法及其解释:
http://blog.csdn.net/liujan511536/article/details/46227169
接下来我们说下如何利用docker来建一个apache服务器镜像,并把我们的html文件传到这个镜像里,最终我们可以在dcoker外的电脑访问到这个docker中的apache服务器。
这里架设服务器我用的是xampp。
注意:如果你对下面的某些命令有不理解的地方,请看我的上一篇博客。
首先下载xampp,选linux版本:
下载地址:https://www.apachefriends.org/download.html
启动docker:
service docker start
或者用这条命令:
sudo docker -d
(如果启动有什么问题的话,请看上篇博客末尾的常见问题)
然后把我们下载的xampp.run上传到容器中来,这里我的xampp.run放在/home/Download目录下,假设我的镜像名为ubuntu
sudo docker run –i –t –v /home/Download/xampp.run:/tmp/xampp.run ubuntu /bin/bash
运行上述命令后,就会启动了一个容器,并进入到容器命令行中;
接着安装xampp
(xampp在Ubuntu中默认安装路径为/opt/lampp)
进入容器中的tmp目录:
cd /tmp
运行xampp.run(这里如果有什么权限问题,用sudo chmod 777 *解决):
sudo ./xampp.run
然后就是安装的过程了,有需输入的地方,为了方便可以直接按Enter或者y就可以了。
安装完xampp后,紧接着输入:
mysql –u root
显示是Command not found,因为我们还没把mysql的执行文件目录加入到环境变量PATH中。
把mysql执行文件目录(默认目录是/opt/lamp/bin)加入到PATH中:
sudo vim ~/.bashrc #没有vim可用sudo apt-get install vim安装vim
打开.bashrc后,在其最后加上这句:
export PATH=$PATH:/opt/lampp/bin
保存后退出vim,接着在输入一下命令使得上述修改生效:
source ~/.bashrc
以下命令可用来启动apache,mysql和php:
/opt/lampp/lampp start
这时再输入mysql就可以进入的mysql解释器中了(输入exit可退出解释器)
接着在本机电脑中打开另一个命令行终端,输入:
sudo docker ps
来查看刚才运行的那个容器的id,然后退出那个容器(在容器命令行中输入exit),再将那个容器保存成新的镜像:
sudo docker commit 容器id 新镜像名
接着启动新保存的那个镜像,假设镜像名为ubuntu2:
sudo docker run –i -t –p 8088:80 ubuntu2 /bin/bash
在启动容器命令行中输入以下命令来启动apache和mysql:
/opt/lampp/lampp start
到这里,就可以在本机电脑上访问上面容器中的apache服务器了。
打开本机电脑的浏览器,在地址栏中输入:
localhost:8088
然后显示的页面就是xampp的页面了
(如果这里显示的页面是无法连接之类的,请关掉容器然后重新启动容器)
回到刚才那个容器的命令行来,进入到apache中存放html文件的目录中(默认为/opt/lampp/htdocs):
cd /opt/lampp/htdocs
接着在htdcos目录下新建一个html文件:
sudo vim hello.html
文件内容为:
helloworld
保存并退出vim。
接着在本机电脑浏览器地址栏中输入:
localhost:8088/hello.html
不出意外的话,你就可以看到helloworld了;如果有意外,比如显示access forbidden之类的,请回到容器命令行,进入到htdocs目录,修改hello.html的权限(sudo chmod 777 hello.html)。
到这里,你已经学会了如何利用docker来建一个apache服务器,并在外部电脑中访问容器中的网页。
相关文章推荐
- org.apache.catalina.core.StandardWrapperValve invoke的解决办法
- 用 Apache 和 Subversion 搭建安全的版本控制环境
- Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess
- PHP, LDAPS and Apache
- Apache TEZ 编译、安装、配置、运行
- (2) 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?
- (1) 如何用Apache POI操作Excel文件-----入门
- APache PDFbox API使用(3)----如何得到一个带表单的PDF文件的表单结构
- apache 访问控制
- apache 日志切割
- 解决Apache服务器无法启动
- 64位系统下一键安装apache+php服务
- Apache Spark源码分析-- Job的提交与运行
- The type org.apache.commons.lang.exception.NestableRuntimeException cannot be resolved. 问题解决
- APACHE COMMONS LOGGING
- apache的源码安装详细过程全纪录
- apache、mysql安装过程遇到的问题
- Apache DirectMemory介绍
- apache mod_rewrite 应用举例
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境