Gab*_*x0r 3 php environment-variables docker visual-studio-code
我知道这是一个愚蠢的问题,但是我有以下问题。我在一年以上使用Docker和编辑器来更改我的程序集,该程序集是作为卷的主机。
我没有安装php,因为它仅在容器内部运行,就像几乎所有其他服务器程序一样(例如sql,apache)。现在,我安装了Visual Studio代码,但找不到使用intellisense的php路径。
我知道我可以在docker-compose或Dockerfile中设置环境路径来为我的容器设置环境。但是容器(如果运行)与外界隔离,除了docker cp之类的命令。
是否可以设置从主机到容器机器的路径,以便Visual Studio代码可以在容器内部找到PHP并将其用于智能感知?还是我必须在主机上安装php?但是我认为这会破坏Docker容器的使用。
例如在Visual Studio代码配置中 settings.json
"php.validate.executablePath": DOCKERCONTAINER/usr/bin/php
Run Code Online (Sandbox Code Playgroud)
诀窍是创建一个调用我们的PHP容器的Bash文件。
首先,启动一个PHP7容器并使用此docker-compose.yml使其运行
version: "3"
services:
python:
image: php:7.2
container_name: php7-vscode
restart: always #this option will keep your container always running, auto start after turn on your host machine
stdin_open: true
networks:
- proxy
networks:
proxy:
external: true
Run Code Online (Sandbox Code Playgroud)
在/ usr / local / bin中创建一个名为php的文件
Chmod使它可执行
sudo chmod +x php
Run Code Online (Sandbox Code Playgroud)
该文件将包含使用我们正在运行的容器来处理php的脚本
#!/bin/bash
docker exec -i --user=1000:1000 php7-vscode php "$@"
Run Code Online (Sandbox Code Playgroud)
1000:1000是我们的用户ID和主机上的用户组。我们必须在主机上以当前用户身份运行,以便容器不会修改文件的所有者。
而已。现在您可以输入
php -v
Run Code Online (Sandbox Code Playgroud)
看结果。
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |