在Docker下搭建Apache+PHP+mysql环境的过程记录

时间:2021-01-13 20:33:14

在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下搭建Apache+PHP+mysql环境的过程记录

然后用这个镜像运行起一个容器

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

查看正在运行的容器信息。

在Docker下搭建Apache+PHP+mysql环境的过程记录

然后通过上面命令得到的容器ID来提交这个容器的修改,

docker commit 1cd1b30fce5e centos-lamp

最后面是给这个新的镜像取的名字。

再次执行命令

docker images

可以看到,已经多了一个名叫centos-lamp的镜像。

在Docker下搭建Apache+PHP+mysql环境的过程记录

PS: 保存镜像的方法还存在问题,后期再来研究。只看搭建环境的步骤既可。