簡體   English   中英

設置從主機到docker容器的PHP路徑

[英]set PHP path from host to docker container

我知道這是一個愚蠢的問題,但我有以下問題。 我使用一年以上的Docker和一個編輯器來改變我的程序,它是作為卷的hostet。

我沒有安裝php,因為它只在容器內運行,就像幾乎所有其他服務器程序(如sql,apache)一樣。 現在我安裝了visual studio代碼,它無法找到使用intellisense的php路徑。

我知道我可以在docker-compose或Dockerfile中設置一個環境路徑來為我的容器設置一個環境。 但是,如果它的運行,容器是隔離到外面的,除了像docker cp這樣的命令。

是否可以設置從主機到容器機器的路徑,以便visual studio代碼可以在容器內部找到PHP並將其用於智能感知? 或者我必須在我的主機上安裝php? 但在我看來,這會破壞Docker容器的使用。

例如在visual studio code config settings.json

"php.validate.executablePath": DOCKERCONTAINER/usr/bin/php

訣竅是創建一個調用我們的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

在/ usr / local / bin中創建一個名為php的文件

Chmod使其可執行

sudo chmod +x php

該文件將包含使用我們的運行容器來處理php的腳本

#!/bin/bash
docker exec -i --user=1000:1000 php7-vscode php "$@"

1000:1000是我們的用戶ID和我們主機上的用戶組。 我們必須在主機上作為當前用戶運行,以便容器不會修改我們文件的所有者。

而已。 現在你可以輸入

php -v

看到結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM