>本教程通過使用當前的最佳實踐Docker設置PHP開發環境,從而指導您。 我們將介紹PHP開發環境的演變,強調Docker比舊方法的優勢。 如果要跳過歷史記錄,請跳到配置步驟。
>
> Web開發的快速步伐需要現代方法。 過時的教程比比皆是。 讓我們回顧一下演變:
手動安裝:
>預先配置的軟件包(XAMPP,WAMP):
>虛擬機(vagrant):
docker: docker提供了沒有開銷的虛擬機的好處。它將應用程序及其所有依賴項包裝到容器中,以確保環境的一致性。
> Docker避免了流浪者的資源消耗和同步問題。它允許多個具有不同配置(Apache,nginx,各種PHP版本)的網站同時運行,每個網站都在其自己的容器中隔離。 移動網站就像複製單個文件夾一樣簡單。
設置docker環境
>
>先決條件:
>下載並安裝Docker。 在Linux上,通過發行版的軟件包管理器安裝和。 您可能需要將用戶添加到
>組中,然後啟動/啟用Docker服務。 Windows和MacOS安裝程序會自動處理此操作。在繼續之前,請停止任何現有的Web服務器(Apache,nginx等)或MySQL實例。>
>配置(docker-compose.yml):
創建一個項目文件夾和adocker
文件:docker-compose
>
docker
> nginx配置(nginx.conf):
docker-compose.yml
version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/nginx.conf - ./app:/app php: build: context: . dockerfile: PHP.Dockerfile volumes: - ./app:/app mysql: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: 'secret' MYSQL_USER: 'tutorial' MYSQL_PASSWORD: 'secret' MYSQL_DATABASE: 'tutorial' volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 volumes: mysqldata: {}
創建
:version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/nginx.conf - ./app:/app php: build: context: . dockerfile: PHP.Dockerfile volumes: - ./app:/app mysql: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: 'secret' MYSQL_USER: 'tutorial' MYSQL_PASSWORD: 'secret' MYSQL_DATABASE: 'tutorial' volumes: - mysqldata:/var/lib/mysql ports: - 3306:3306 volumes: mysqldata: {}
運行服務:
>在您的項目目錄中打開一個終端並運行docker-compose up
。 這將啟動NGINX,PHP和Mariadb。訪問您的網站http://127.0.0.1
。 一個“你好,世界!” app/public/index.html
>確認設置的測試頁面。 用phpinfo()
>中的app/public/index.php
腳本驗證PHP功能。 使用MySQL Workbench等客戶端連接到MySQL。
>部署:>只需上傳您的項目文件(包括docker-compose.yml
>,nginx.conf
和PHP.Dockerfile
),然後運行docker-compose up -d
以進行無縫部署。
常見問題解答:(提供的FAQ已經結構良好,可以直接包括在內。)
>此修訂後的輸出維護原始圖像位置和格式,同時重新繪製文本以提高清晰度和流動,避免竊。
以上是與Docker建立現代的PHP開發環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!