教你在docker 中搭建 PHP8 + Apache 环境的过程

目录
  • 镜像介绍
  • 具体操作步骤
  • PHP 安装扩展
    • 以安装 pdo-mysql 扩展为例
  • 搭建 PHP 站点

镜像介绍

我下载的是下面这个, PHP 版本是 8.0.6

具体操作步骤

  • 下载镜像: docker pull php:apache-buster, 下载下来后使用 docker images 可以查看到如下信息:

  • 创建容器: docker run -itd --name php -p 80:80 -v /Users/xiaosheng/docker:/var/www/html -v /Users/xiaosheng/docker/etc:/usr/local/etc -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled php:apache-buster

命令详解:

  • --name php: php 表示创建出来的镜像名称
  • -p 80:80: 表示本机的 80 端口映射到容器内的 80 端口, 其中第一个 80 是本机的
  • -v /Users/xiaosheng/docker:/var/www/html: 数据卷挂载, 将本机的代码文件夹映射到容器内的代码文件夹, 冒号前面的是本机的文件夹地址
  • -v /Users/xiaosheng/docker/etc:/usr/local/etc: 将容器内 PHP 的配置文件映射到本机, 这样方便修改配置文件, 冒号前面的是本地的文件夹地址
  • -v /Users/xiaosheng/docker/conf:/etc/apache2/sites-enabled: 将容器内 Apache 站点的配置文件映射到本地, 方便添加和修改站点配置文件, 冒号前面的是本地的文件夹地址
  • php:apache-buster: 表示的是使用哪个镜像来创建容器, 即 镜像名称:tag名称

以上步骤就可以创建出来一个容器, 使用 docker ps -a 来查看容器

PHP 安装扩展

以安装 pdo-mysql 扩展为例

  • 容器中 PHP 没有 MySQL 的扩展, 所以需要自己手动下载, 下载步骤可以参考该链接 https://www.yoyoask.com/?p=122
  • docker-php-source : 在 /usr/src 目录下创建出来 php 文件夹
  • 进入 /usr/src/php/ext 文件夹, 使用 docker-php-ext-install 安装所需要的扩展, 如安装 pdo-mysql 扩展, 可以使用 docker-php-ext-install pdo_mysql 来安装
  • 修改 PHP 的配置文件
  • 去掉 ;extension=pdo_mysql 前面的 ;
  • 使用 docker restart 容器ID 来重启容器

搭建 PHP 站点

在从 Apache 中映射出来的文件夹中添加站点配置文件, 我这里添加了一个 ceshi.conf的文件

文件内容如下:

<VirtualHost *:80>
	ServerName www.xiaoming.test
	DocumentRoot /var/www/html/api.ceshi.test/public
    <Directory "/var/www/html/api.ceshi.test/public">
        SetOutputFilter DEFLATE
        AllowOverride All
        Require all granted
        DirectoryIndex index.php index.html index.htm default.php default.html default.htm
    </Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • 重启容器: docker restart 容器ID
  • 在本机 host 文件中添加站点信息
  • 127.0.0.1 www.xiaoming.test
  • 如果想要在容器内部使用 vim 的话, 可以使用如下命令
apt-get update apt-get -y install vim

到此这篇关于docker 中搭建 PHP8 + Apache 环境的文章就介绍到这了,更多相关docker 搭建Apache 环境内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker搭建OpenLDAP+phpLDAPadmin统一用户认证的方法

    一.背景 使用LDAP对运维相关用户名密码做统一管理.可以实现一个帐号登录多个不同系统. 手动部署都是各种问题,后来采用Docker部署,参考了好多教程文档总结如以下 内容亲测可用 二.部署 Docker 搭建 LDAP # 拉取镜像 docker pull osixia/openldap:1.3.0 # 创建并进入映射目录 mkdir -p /usr/local/ldap && cd /usr/local/ldap # 启动容器 docker run \ -d \ -p 389:389

  • Docker自动部署Apache Tomcat的方法

    介绍 本文会讲述: 扩展Tomcat的官方Dockerfile 构建新的镜像 从修改过的新镜像启动容器 在容器里部署RESTful的Web服务并测试 Apache Tomcat 使用docker search可以查到最流行的(和官方的)Docker Tomcat容器: $ sudo docker search tomcat [sudo] password for craig: NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomc

  • dockerfile制作apache镜像的方法

    一.Docker镜像 1.1 docker镜像 应用的是发布的标准格式 支撑一个docker容器的运行 1.2 docker镜像的创建方法 基于已有的镜像创建 基于本地模板创建 基于Dockerfile创建 Docker镜像是分层的结构 ①Dockerfile中的每个指令都会创建一个新的镜像层 ②镜像层将被缓存和复用 ③当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效 ④某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效 ⑤镜像层是

  • Docker搭建php环境教程详解

    docker 安装 使用官方提供的安装脚本,安装最新版的Docker curl -sSL https://get.docker.com/ | sh 安装完成后,通过如下命令启动Docker的守护进程,并让它随系统启动自动加载 sudo service docker start sudo chkconfig docker on ## 或者 sudo systemctl start docker sudo systemctl enable docker 添加用户(jerry)到Docker组 sud

  • 教你在docker 中搭建 PHP8 + Apache 环境的过程

    目录 镜像介绍 具体操作步骤 PHP 安装扩展 以安装 pdo-mysql 扩展为例 搭建 PHP 站点 镜像介绍 PHP8 + Apache 的官方仓库: https://hub.docker.com/_/php?tab=tags 在该仓库如下位置搜索 Apache 相关的镜像 我下载的是下面这个, PHP 版本是 8.0.6 具体操作步骤 下载镜像: docker pull php:apache-buster, 下载下来后使用 docker images 可以查看到如下信息: 创建容器: d

  • Docker中搭建配置Git环境的过程

    Docker中配置Git环境 工作中遇到了需要在Docker环境中操作GitLab仓库的场景,需要事先在Docker中搭好Git环境. 由于在Docker中对Git仓库操作是全自动化的,因此需要免密拉取仓库和提交等操作,我这里是使用SSH来进行免密操作. 所以首先是配置SSH,其次是配置Docker环境. 配置SSH Key 先生成SSH key: ssh-agent eval $(ssh-agent -s) ssh-keygen -o -t rsa -b 4096 -C "{username}

  • Docker中搭建FastDFS文件系统(多图教程)

    关于FastDFS FastDFS 是以 C 语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载)等,特别适合以文件为载体的在线服务,如:图片网站,视频网站等. 外话:FastDFS 是阿里余庆大神做的一个个人项目,从2008年研发FastDFS开源至今,在一些互联网创业公司中备受推崇,GitHub开源地址:https://github.com/happyfish100/fastdfs 本文基于Docker搭建,以下是正文内容: 1

  • 一文教你如何通过 Docker 快速搭建各种测试环境

    今天给大家分享的主题是,如何通过 Docker 快速搭建各种测试环境,本文列举的,也是作者在工作中经常用到的,其中包括 MySQL.Redis.Elasticsearch.MongoDB 安装步骤,通过几行命令秒秒钟就能轻松搞定. 友情提示:搭建之前,你需要先安装 Docker 哟,本文基于您已经安装好 Docker 的基础上!如果你想和更多Docker技术专家交流,可以加我微信liyingjiese,备注『加群』.群里每周都有全球各大公司的最佳实践以及行业最新动态. 废话少说,正文开始! 一.

  • PyCharm使用Docker镜像搭建Python开发环境

    在我们平时使用PyCharm的过程中,一般都是连接本地的Python环境进行开发,但是如果是离线的环境呢?这样就不好搭建Python开发环境,因为第三方模块的依赖复杂,不好通过离线安装包的方式安装.本文将介绍如何利用PyCharm来连接Docker镜像,从而搭建Python开发环境. 首先,我们需要准备一下工具: PyCharm专业版 Docker 我们用一个示例项目来演示在PyCharm中如何利用Docker镜像搭建Python开发环境.项目的截图如下: 注意到,在该项目中还没有设置Pytho

  • Docker容器搭建android编译环境的实践记录

    目录 1 部署容器 1.1 手动部署 1.1.1 配置docker 1.1.2 启动容器 1.1.3 配置环境 1.2 Dockerfile 2 镜像管理 3 容器管理 3.1 每个用户各用容器 3.1.1 服务端配置 3.1.2 客户端使用 3.2 多用户共用容器 3.2.1 服务端配置 3.2.2 客户端使用 1 部署容器 1.1 手动部署 1.1.1 配置docker # 安装之前必须修改docker路径,防止docker空间增长暴满. sudo ln -s /opt/docker /va

  • Docker 中快速安装tensorflow环境的方法步骤

    Docker 中快速安装tensorflow环境,并使用TensorFlow. 一.下载TensorFlow镜像 docker pull tensorflow/tensorflow 二. 创建TensorFlow容器 docker run --name corwien-tensortflow -it -p 8888:8888 -v /Users/kaiyiwang/Code/ai/notebooks:/notebooks/data tensorflow/tensorflow 命令说明 docke

  • 在VsCode中搭建Go开发环境的配置教程

    现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新 这次怀着愧疚的心情,在凌晨四点时,将这教程进行一个更新 注意:本教程最大的好处是不需要梯子. 直接在墙内可进行一切操作,文章写给纯小白的,部分Linux常识解释的过多,熟悉的人请略过 Go的安装 安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量.直接去官网,下载了安装包后直接安装即可 在Go中文网进行Go最新版安装包的下载(或者复制网址浏览器打开https://st

  • 在VSCode中搭建Python开发环境并进行调试

    Get Started Tutorial for Python in Visual Studio Code 一.安装Python Python简介与Python安装 二.VSCode中安装和调试Python 在 VSCode 中搜索扩展 Python,如下图: 安装完成后需要重新加载 VSCode 使插件生效. 1.配置 Python 环境 在 VSCode 中点击状态栏左下角的 Python 图标: 然后选择 Python 解释器,这里博主选择我们刚才安装好的 3.8版本 2.代码检测和格式化

  • 详解Docker下搭建Jenkins构建环境

    首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件, 搭建Jenkins构建环境需要安装jdk.maven.tomcat.jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下: FROM centos:7 # author info MAINTAINER xulijian 514045152@qq.com # instal

随机推荐