以下是使用 Docker 配置一套 Laravel 运行环境的步骤:
- 安装 Docker
Docker 是一种容器化技术,需要先在本机上安装 Docker。根据不同的操作系统选择相应的 Docker 安装包进行安装。
- 创建 Dockerfile
Dockerfile 是用来构建 Docker 镜像的文件,通过 Dockerfile 中的指令可以定义镜像的构建过程。以下是一个示例 Dockerfile 文件:
# 使用官方 PHP 7.4 镜像作为基础镜像
FROM php:7.4-apache
# 将当前目录下的代码复制到镜像中的 /var/www/html 目录下
COPY . /var/www/html
# 安装必要的扩展和工具
RUN apt-get update \
&& apt-get install -y git zip unzip libzip-dev \
&& docker-php-ext-install pdo_mysql zip \
&& a2enmod rewrite
# 设置 Apache 的 DocumentRoot
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# 设置工作目录
WORKDIR /var/www/html
# 暴露端口
EXPOSE 80
# 启动 Apache 服务器
CMD ["apache2-foreground"]
- 构建 Docker 镜像
在 Dockerfile 文件所在的目录下执行以下命令构建 Docker 镜像:
docker build -t laravel .
其中,-t laravel
表示将镜像命名为 laravel。
- 启动 Docker 容器
在本地目录中创建一个名为 app
的 Laravel 项目文件夹,并且将 app
目录挂载到 Docker 容器中。这样做可以保证容器内的代码和容器外的代码同步更新。
mkdir app
cd app
docker run -d -p 80:80 -v $(pwd):/var/www/html --name my-laravel-app laravel
其中,-d
表示以守护进程模式启动容器;-p 80:80
表示将容器的 80 端口映射到本机的 80 端口;-v $(pwd):/var/www/html
表示将当前目录挂载到容器内的 /var/www/html
目录;--name my-laravel-app
表示将容器命名为 my-laravel-app。
- 进入 Docker 容器
如果想要在容器内执行一些命令,可以使用以下命令进入容器:
docker exec -it my-laravel-app /bin/bash
其中,my-laravel-app
是容器名称,/bin/bash
是要执行的命令。
以上就是使用 Docker 配置一套 Laravel 运行环境的步骤,你可以根据自己的需求进行修改和调整。