docker php-apache+mysq镜像发布

想要将开发中的php环境快速部署,所以想要打个镜像

文件准备

新建文件夹,如docker-php,讲php项目拷贝到该路径下,并新建Dockerfile,编辑如下:

FROM php:7.4-apache

RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
 
COPY src/ /var/www/html/


EXPOSE 80

基于docker库的php:7.4-apache镜像,并使用RUN安装mysql扩展,并将当前宿主机docker-php目录下的src子目录 拷贝到镜像的/var/www/html目录,也就是php代码路径,并暴露服务端口80

编译镜像

使用docker build命令在当前目录.编译成名为php-apache-wy的镜像

docker build -t php-apache-wy .

启动容器

以php-apache-wy镜像启动容器,端口映射宿主机8092对应容器80端口。

docker run -d -p 8092:80 php-apache-wy

Mysql 连不上问题解决

访问127.0.0.1:8092发现数据库连接报错,排查发现数据库url是宿主机写的localhost,容器是没办法访问到宿主机的mysql。

在宿主机上执行 ipconfig(windows)发现虚拟网卡的ip是172.21.240.1,修改php代码中数据库url

重新走一下 编译镜像、启动容器步骤,(ps记得删除之前的容器和镜像),再重新访问127.0.0.1:8092发现服务正常~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值