Docker搭建PHP环境(LAMP)

可以直接使用官方镜像搭建LAMP环境
从官方下载PHP+Apache镜像和MySQL两个镜像来组成(如:php:7.2.3-apache-stretch和mysql:5.7.21)

官方下载的PHP+Apache镜像是没有安装PHP插件mysqli
/usr/local/bin/docker-php-ext-install mysqli

官方下载的PHP+Apache镜像Apache是没有开启rewrite
a2enmod rewrite

可以编写Dockerfile基于官方下载的PHP+Apache镜像执行以上两句命令,生成新的镜像文件方便日后使用

# dockerfile

FROM php:7.2.3-apache-stretch
 
RUN /usr/local/bin/docker-php-ext-install mysqli; \
    a2enmod rewrite;
 
CMD ["apache2-foreground"]
启动容器时主要要先启动mysql,需要设置root密码,另外可以设置数据库文件存储在宿主机器上,端口可以不映射,因为其他容器通过link方式使用数据库

再启动PHP+Apache,需要设置端口映射,指定通过link方式访问数据库,可以指定文件存储在宿主机器上

docker run -d -v C:/data/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql
docker run -d -p 80:80 -v C:/data/html:/var/www/html --link mysql:mysql php:7.2.3-apache-stretch

你可能感兴趣的:(docker)