在 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]
相关文章推荐
- (开包即用,不用看代码!)在 Docker 中用 nginx 和 PHP-fpm 运行来自 Windows 共享文件夹的网站
- (开包即用,不用看代码!)在 Docker 中用 nginx 和 PHP-fpm 运行来自 Windows 共享文件夹的路由模式网站
- 从Windows 10共享文件夹给Docker虚拟机中的Docker的神奇bug
- Windows 7与虚拟机VMware下运行的UBUNTU10.10共享文件夹
- Windows 7与虚拟机VMware下运行的UBUNTU10.10共享文件夹
- Mac OS X 启动自动运行脚本 VS 命令行下连接windows共享
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
- Docker for Windows 自动共享本机文件的脚本示例
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
- <php+mysql>上传文件到指定文件夹,共享数据和脚本,文件验证,脚本之间的通信
- 从一台 Windows 10 上共享文件夹到Docker中的Volume卷
- 在windows下通过命令提示符运行php脚本 cmd运行php
- 关于windows下phpstorm+vmware的lnmp共享文件夹问题的最佳实践
- 新版VirtualBox设置Ubuntu与windows共享文件夹的方法
- Windows Virtualbox虚拟Ubuntu共享文件夹
- php 判断当前脚本的运行方式
- Windows 设置了文件夹共享,删除默认Everyone共享,设置其他用户共享之后打不开的问题
- Windows ubuntu共享文件夹 VMware Tools安装 su命令
- windows命令行下运行PHP程序