使用Docker Compose创建LAMP环境的详细步骤

 更新时间:2024年12月15日 13:50:46   作者:鸠摩智首席音效师  
现如今,通过 Docker 容器化部署环境已经逐渐成为主流,特别是在部署像 LAMP 这样的复杂环境时,本教程旨在带您完成使用 Docker-Compose 建立 LAMP 环境的整个过程,同时还包括定制 PHP 环境的步骤,需要的朋友可以参考下

必备条件

  • Docker : 用于在容器中开发、交付和运行应用程序的平台。
  • Docker-Compose : 用于定义和运行多容器 Docker 应用程序的工具。

您可以通过在终端中运行 docker -v 和 docker-compose -v 来检查这些工具的安装。如果您还没有安装它们,请访问 Docker 官方网站获取安装说明。

Step 1: Create a Docker-Compose File

首先,在项目目录中创建一个 docker-compose.yml 文件,此文件至关重要。

version: '3'
services:
  web:
    build: .
    container_name: apache-php
    ports:
      - "80:80"
    volumes:
      - ./www:/var/www/html
  db:
    image: mysql:8
    container_name: mysql-server
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secure_password
      MYSQL_DATABASE: mydb
      MYSQL_USER: myuser
      MYSQL_PASSWORD: password
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

该配置详细说明了两个主要服务:web 用于 Apache 和 PHP, db 用于 MySQL。注意 web 下的 build: . 指令,指示 Docker 应该在当前目录下使用一个 Dockerfile 来构建这个服务。

Step 2: Customize PHP with a Dockerfile

要合并其他 PHP 模块和 Composer,请在与 docker-composer .yml 相同的目录下创建一个 Dockerfile。这个 Dockerfile 将指导 Docker 如何准备你的自定义 PHP 环境。

FROM php:8.3-apache

# Install additional PHP modules
RUN docker-php-ext-install pdo_mysql mysqli

# Install Composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
    php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
    php -r "unlink('composer-setup.php');"

# Enable Apache mod_rewrite
RUN a2enmod rewrite

这个 Dockerfile 扩展了 php:8.3-apache 镜像,为数据库交互添加了 pdo mysql 和 mysqli 扩展,并全局安装了 Composer 管理器。

Step 3: Building and Running Your Containers

打开终端,切换到 docker-compose.yml 所在的项目目录,执行如下命令

docker-compose up -d

'-d 选项以分离模式运行容器,释放终端。Docker-compose 将从 Docker Hub 提取必要的镜像,创建定义的服务,并设置指定的网络和数据卷。

Step 4: Accessing Your LAMP Stack

容器启动并运行后,您可以通过在浏览器中访问 http//localhost 来访问 Apache Web 服务。

要与 MySQL 数据库交互,可以使用以下命令访问 MySQL 命令行

docker-compose exec db mysql -uroot -proot

请用您在 docker-compose.yml 文件中定义的用户名和密码替换 root。

Step 5: Managing Your LAMP Stack

Docker-Compose 服务管理常见命令如下:

  • 停止容器: docker-compose down
  • 重启容器: docker-compose up -d
  • 重构服务: docker-compose up -d --build

到此这篇关于使用Docker Compose创建LAMP环境的详细步骤的文章就介绍到这了,更多相关Docker Compose创建LAMP环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Dockerfile文件编写及构建镜像命令解析

    Dockerfile文件编写及构建镜像命令解析

    这篇文章主要为大家介绍了Dockerfile文件编写及Dockerfile构建镜像命令解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 使用docker部署django技术栈项目的方法步骤

    使用docker部署django技术栈项目的方法步骤

    这篇文章主要介绍了使用docker部署django技术栈项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker镜像端口映射的原理及实现

    Docker镜像端口映射的原理及实现

    在使用Docker时,端口映射是一个重要的概念,本篇博客将向您介绍什么是端口映射,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • 使用Docker部署openGauss国产数据库的操作方法

    使用Docker部署openGauss国产数据库的操作方法

    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库,这篇文章主要介绍了使用Docker部署openGauss国产数据库,需要的朋友可以参考下
    2022-10-10
  • 安装harbor作为docker镜像仓库的问题

    安装harbor作为docker镜像仓库的问题

    这篇文章主要介绍了安装harbor作为docker镜像仓库,主要包括docker和docker-compose离线部署,安装harbor作为本地的仓库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • docker中使用mysql数据库实现局域网访问

    docker中使用mysql数据库实现局域网访问

    在本篇内容里小编给大家整理了关于docker中使用mysql数据库实现局域网访问相关内容,有需要的朋友们可以学习下。
    2020-03-03
  • docker-compose部署nginx教程

    docker-compose部署nginx教程

    文章介绍了如何安装和配置docker-compose,创建一个Nginx容器,并通过docker-compose.yml文件进行配置,包括映射文件夹和自定义转发配置,最后,提供了重启和配置生效的脚本
    2025-01-01
  • docker中使用mongodb数据库详解(在局域网访问)

    docker中使用mongodb数据库详解(在局域网访问)

    这篇文章主要给大家介绍了在docker中使用mongodb数据库,在局域网访问的相关资料,文中将步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 如何修改docker容器中MySQL的用户密码

    如何修改docker容器中MySQL的用户密码

    本文主要介绍了如何修改docker容器中MySQL的用户密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Docker安装mysql教程以及解决mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘问题

    Docker安装mysql教程以及解决mysqld: Can‘t read dir&nbs

    本文详细介绍了如何通过Docker来安装和配置MySQL数据库,包括拉取MySQL镜像、启动MySQL容器、配置MySQL、解决常见错误等步骤,提供了详尽的命令和参数说明,帮助用户顺利完成MySQL的安装和配置,文中还提到了如何处理MySQL容器启动时遇到的“无法读取目录”
    2024-10-10

最新评论