[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

尝试各种PHP执行环境! 2016年将由Docker协调决定!

你好。
我是Mandai,负责Wild 开发团队。

如果你想用 docker 创建一个奇特的开发环境,为什么不尝试用 docker build 创建一个原始的 docker 镜像呢?
如果你有一个易于混搭的docker镜像,你的安排就会多种多样!

这是作为 docker 入门系列的一部分编写的。
如果您想阅读过去的 Docker 介绍系列,请点击下面的链接。

请注意,这不是一个可以通过复制粘贴完成的系列,因为这不能通过复制粘贴来完成。不错。

关于PHP执行环境

Docker Hub上的Docker图像非常出色,并且使用它并不是一个问题。

  • 例如,您可能想要更具体地了解放置源文件的目录。
  • 我想使用 PHP 中的 ffmpeg 对音频文件进行编码。
  • 您想要使用带有大量扩展模块的 PHP。

我认为满足这样的需求的唯一方法就是自己重建docker镜像。

通常可以更改现有的Docker映像并重建它,但是在编译PHP时也可以安装模块。 Dockerfile是用于构建Docker的程序手册,如果您看一下,您可以一目了然地看到它在做什么。

换句话说,您当前正在使用的Docker映像在某个地方有一个Dockerfile,如果您对该Dockerfile进行一些较小的修改并构建它,则可以获得所需的最佳Docker图像。

而且,有很多Dockerfile已经上传到github上,并且是公开的(官方的Docker镜像越多,可能性就越大),所以大家可以看各种Dockerfile,偷一下方法。

这次,我想使用官方 PHP docker 镜像作为参考,创建一个包含多字节兼容 PHP 的 docker 镜像。

首先,找到基础docker镜像

如果您查看排在Docker Hub上的Docker映像,则很容易找到与您要创建的相关图像。这次,我想根据官方的PHP Docker映像如果您查看页面,您将看到指向GitHub上管理的Dockerfile的链接。

遵循链接(7.0/apache/dockerfile),我看到了一个用于创建php7.0 + apache docker映像的Dockerfile。
我将把它用作闹剧。在您的VM中,git克隆这个存储库,然后尝试进行更正。

cd ~ vagrant@vagrant:~$ git clone https://github.com/docker-library/php.git vagrant@vagrant:~$ cd /home/vagrant/php/7.0/apache

将“ - 元素构成”添加到./configure选项中。

还可以创建一个用于测试的PHP文件并将其复制到Docker映像中。

VI Dockerfile#dockerfile靠近59号线& amp; ./configure -enable-MbString#←附录-with-with-config-file-path =“ $ php_ini_dir”#添加了以下复制指令到dockerfile#i添加了workdir/var/var/var/www/html中的适当位置。复制mbstring.php/var/www/html/

尝试使用 docker build 编译 PHP

修复后,创建 mbstring.php。

echo“<?php echo mb_convert_kana('1234567890','n');” > mbstring.php 

创建后,尝试 docker build。

vagrant@vagrant:~/php/7.0/apache$ docker build -t myphp7 。

之前的不同
此构建构建完成后,让我们从 docker 镜像创建一个 docker 容器。

vagrant@vagrant:~/php/7.0/apache$ docker run -it myphp7 /bin/bash root@66c8bbc720a9:/var/www/html# ls mbstring.php root@66c8bbc720a9:/var/www/html# 服务 apache2 启动[...] 启动 Web 服务器:apache2AH00558:apache2:无法可靠地确定服务器的完全限定域名,使用 172.17.0.3 全局设置“ServerName”指令以抑制此消息 ok root@66c8bbc720a9:/var/。 www/html#curl http://localhost/mbstring.php 1234567890root@66c8bbc720a9:/var/www/html#

看起来像是执行了一条将半角数字转换为全角数字的指令然后退出,但是转换成功,没有任何问题。

无需从头开始自己做,但是我认为您可以通过寻找相对普通的Dockerfile并将其用作闹剧来迅速建立它。官方的PHP Docker映像不包括VIM,因此,如果要修改内部配置,则应使用APT-GET安装VIM,因此没有问题。

当您使用Vagrant创建虚拟环境时,您不可避免地关注文件大小,但是当创建Docker映像时,它符合大小的1/4(当然,它只是PHP执行环境)。首先,如果您仅共享Dockerfile和要放入Docker映像中的文件,则很容易在GIT存储库中进行管理。

能够将整个汇编过程变成命令是在开发开始时构建环境的巨大优势,因此我们希望能够提供最佳的执行环境而不依赖于apt-get或yum。

就是这样。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
549
X Facebook 哈特纳书签 口袋
[网络研讨会] 多云入门:哪种云最适合您的业务?获取八大主流云的最新资讯!

[网络研讨会] 多云入门:哪种云最适合您的业务?获取八大主流云的最新资讯!

[网络研讨会]从操作结构到特定步骤!云服务器操作和维护的完整概述

[网络研讨会]从操作结构到特定步骤!云服务器操作和维护的完整概述

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。