您的位置:首页 > 运维架构 > Docker

在 Docker 中运行来自 Windows 共享文件夹的 PHP 脚本

2018-01-31 19:05 686 查看
Docker
中运行
PHP
程序的一种方式是在
Dockerfile
中使用
COPY
命令复制源代码到
Docker
容器中,如果是在本机中,也可以把本地
PHP
项目文件夹加载到
Docker
容器中。如果是虚拟机,例如
Docker for Windows
Hyper-V
中安装的虚拟机,
Docker
客户端会自动创建共享文件夹到虚拟机中,而对于使用
docker-machine
命令创建的虚拟机,
Docker
客户端就不自动管理了,如果是固定位置运行的程序,可以手工设置共享文件夹,如果是临时运行的话,手工设置共享文件夹未免有些繁琐,此时可以借助
PowerShell
脚本完成共享操作。

假设电脑上的
docker-machine
中包含一台
docker
主机且运行正常,不限于本机、本机中的虚拟机或者其他位置,只要在局域网中能相互访问即可。

使用管理员角色启动
PowerShell


下载示例代码。

git clone https://github.com/huzhenghui/Docker-run-a-single-PHP-script-from-Windows-share-folder[/code] 
进入项目目录。

cd Docker-run-a-single-PHP-script-from-Windows-share-folder


更新子模块。

git submodule update --init


运行自动共享脚本。

share-windows-folder-to-docker/share-windows-folder-to-docker.ps1 -workingDir ./src -volumeName Docker-run-a-single-PHP-script-from-Windows-share-folder


该脚本将自动把示例项目中的
./src
文件夹共享到
Docker
主机中的卷。

测试共享。

docker run --rm -v Docker-run-a-single-PHP-script-from-Windows-share-folder:/share alpine ls /share


将看到列出文件夹中的文件

phpinfo.php


运行
PHP
程序

docker run -it --rm -v Docker-run-a-single-PHP-script-from-Windows-share-folder:/src -w /src php:latest php phpinfo.php


可以看到输出运行结果。

这种方式把
Docker
容器作为
PHP
的运行时环境,而不是单独的
PHP
程序,因此只需要一个
PHP
镜像,不需要单独为每个程序创建镜像。例如
PHP
程序消耗较大的计算资源,而又希望程序和输入、输出的文件都保存在
Windows
设备时,就适合使用这种方式。

使用的方式也很简单,直接在项目中引入即可。

git submodule add https://github.com/huzhenghui/share-windows-folder-to-docker[/code] 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐