在Docker下搭建Apache+PHP+mysql环境的过程记录
这是一篇搭建Docker环境的过程记录,方便以后查看。主要记录了搭建所用到的工具,使用的命令和遇到的坑。
1. 安装Docker
第一步肯定是到Docker的官网(https://www.docker.com)上去下载安装包,目前有CE和EE两个版本,简单来说,CE就是免费版,EE就是收费版。因为我用的是Windows系统,这里就只讲在Windows系统上怎么安装。
也可以点这里直接下载Windows版。下好之后运行安装。
因为Docker用到了CPU的虚拟化技术,所以在运行之前,要进到BIOS里,把CPU选项中的Intel Virtual Technology设置为enable。
最后直接运行Docker就可以了。
2. 搭建CentOS服务器环境
2.1 验证Docker是否启动
打开CMD,输入
docker version
如果输出版本信息的话,表示Docker启动成功。
2.2 拉取CentOS镜像
输入命令
docker pull centos
以上命令会到Docker官方库里去下载最新的CentOS镜像,但是因为是国外的站点,所以下载会很慢。这里可以使用国内的镜像加速。
docker pull registry.docker-cn.com/library/centos
使用镜像加速下载镜像时,必须输入完整的库名和镜像名。
由于CentOS7在Docker上有一个DBUS的BUG,所以这里建议下载CentOS6的镜像。只需在镜像名后面加上TAG既可。
docker pull registry.docker-cn.com/library/centos:6
2.3 运行CentOS容器
镜像下载好之后,输入命令
docker images
可以看到已经有一个镜像了。
然后用这个镜像运行起一个容器
docker run -it -p 2222:22 -p 8888:80 609c1f9b5406 /bin/bash
-it
表示使用终端模式运行容器-p 2222:22
表示把容器中的22端口映射到主机的2222端口609c1f9b5406
表示镜像的ID/bin/bash
表示镜像运行起之后要执行的程序
可以看到命令提示符已经变成Linux样式了,表示已经成功在容器里运行起了CentOS。
2.4 安装mysql
yum install mysql
yum install mysql-server
chkconfig mysqld on // 设置开机启动
service mysqld start // 启动mysql服务
然后初始化mysql的配置
mysql_secure_installation
2.5 安装apache
yum install httpd
chkconfig httpd on // 设置开机启动
service httpd start // 启动apache服务
这时,在主机的浏览器上访问http://localhost:8888
就可以看到apache的欢迎页面。
2.6 安装php
yum install php
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
写个脚本测试一下
vi /var/www/html/info.php
输入
<?php
phpinfo();
?>
访问http://localhost:8888/info.php
,既可看到php的信息。
3. 保存配置好的镜像
按Ctrl+D
可以在不结束容器进程的情况下退出Bash,这时回到了Windows的命令行下,输入
docker ps
查看正在运行的容器信息。
然后通过上面命令得到的容器ID来提交这个容器的修改,
docker commit 1cd1b30fce5e centos-lamp
最后面是给这个新的镜像取的名字。
再次执行命令
docker images
可以看到,已经多了一个名叫centos-lamp的镜像。
PS: 保存镜像的方法还存在问题,后期再来研究。只看搭建环境的步骤既可。