1. Docker-compose安装
在CentOS 7上安装Docker-compose,可以使用以下命令:
```
sudo yum install -y epel-release
sudo yum install -y python-pip
sudo pip install docker-compose
```
2. Dockerfile制作镜像
在制作镜像之前,需要先创建一个文件夹,用于存放相关文件。在该文件夹下,创建一个名为Dockerfile的文件,用于定义镜像的构建规则。
以下是一个示例Dockerfile:
```
FROM centos:7
RUN yum -y update && \
yum -y install httpd && \
yum -y install php php-mysql && \
yum -y install mysql && \
yum clean all
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
```
该Dockerfile的作用是创建一个基于CentOS 7的镜像,安装Apache、PHP、MySQL,并将80端口暴露出来。
使用以下命令构建镜像:
```
docker build -t my-lamp-image .
```
其中,my-lamp-image是镜像的名称,最后的"."表示Dockerfile所在的当前目录。
3. MySQL Dockerfile编写
以下是一个示例MySQL Dockerfile:
```
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD=root
EXPOSE 3306
CMD ["mysqld"]
```
该Dockerfile的作用是创建一个基于MySQL 5.7的镜像,设置root用户的密码为root,并将3306端口暴露出来。
使用以下命令构建镜像:
```
docker build -t my-mysql-image .
```
其中,my-mysql-image是镜像的名称。
4. PHP-Apache Dockerfile
以下是一个示例PHP-Apache Dockerfile:
```
FROM my-lamp-image
COPY index.php /var/www/html/
EXPOSE 80
```
该Dockerfile的作用是创建一个基于my-lamp-image的镜像,将index.php文件复制到Apache的默认网站目录,并将80端口暴露出来。
使用以下命令构建镜像:
```
docker build -t my-php-apache-image .
```
其中,my-php-apache-image是镜像的名称。
5. PHPMyAdmin Dockerfile
以下是一个示例PHPMyAdmin Dockerfile:
```
FROM phpmyadmin/phpmyadmin
ENV PMA_HOST=my-mysql-container
ENV PMA_PORT=3306
EXPOSE 80
```
该Dockerfile的作用是创建一个基于phpMyAdmin的镜像,设置MySQL服务器的主机名和端口,并将80端口暴露出来。
使用以下命令构建镜像:
```
docker build -t my-phpmyadmin-image .
```
其中,my-phpmyadmin-image是镜像的名称。
6. YAML
在创建完以上四个镜像之后,可以使用Docker-compose来启动这些容器,并将它们连接起来。
以下是一个示例docker-compose.yml文件:
```
version: '3'
services:
mysql:
image: my-mysql-image
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
volumes:
- ./mysql-data:/var/lib/mysql
php-apache:
image: my-php-apache-image
ports:
- "80:80"
depends_on:
- mysql
phpmyadmin:
image: my-phpmyadmin-image
ports:
- "8080:80"
depends_on:
- mysql
```
该文件定义了三个服务:mysql、php-apache和phpmyadmin。其中,mysql服务使用my-mysql-image镜像,设置root用户的密码为root,并将3306端口映射到主机的3306端口。php-apache服务使用my-php-apache-image镜像,将80端口映射到主机的80端口,并依赖于mysql服务。phpmyadmin服务使用my-phpmyadmin-image镜像,将80端口映射到主机的8080端口,并依赖于mysql服务。
使用以下命令启动容器:
```
docker-compose up -d
```
其中,"-d"参数表示在后台运行容器。
7. 在网页中显示MySQL的表格
在浏览器中访问http://localhost/phpmyadmin,即可打开phpMyAdmin界面。在该界面中,可以连接到MySQL服务器,并查看其中的表格。