
使用 Docker 创建符合项目开发要求的镜像
写这篇文章的原因是今天只拿到Mac本本,并且需要在Mac上继续完成上午的开发项目。由于上午的Laravel项目依赖于php-ext-mongodb
扩展,但Mac上没有,经过几番测试都无法安装正确,索性选择使用不那么熟悉的Docker来实现开发环境统一。通过网上的资料查询和尝试,最后发现Docker是真的好用,这里特别的记录一下。
Dockerfile
在项目下创建了一个文件Dockerfile
,用于保存环境所需的创建条件,由于我的项目同时需要
- PHP7
- ext-mongodb
- git
- Composer
因此我的Dockerfile内容如下
# Dockerfile
FROM php:7.4.1-fpm
# Install git
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y git
# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN pecl install mongodb && docker-php-ext-enable mongodb
RUN echo "extension=mongodb.so" >> /usr/local/etc/php/php.ini
EXPOSE 80 443 8001 8000
最后使用的 EXPOSE 语法,作用是将后面的端口暴露出来以便于后期使用容器时候进行映射。
创建镜像
准备好Dockerfile内容后,运行如下命令完成了我的镜像创建,我命名为 TPHP
,并且版本号设定为v1
:
docker build -t TPHP:v1 .
运行容器
等待上述命令完成后,你就可以在本地Docker控制台查看到创建好的景象,点击运行即可创建一个新的容器环境。