首頁 後端開發 php教程 使用 Docker 在本機上運行 WordPress!

使用 Docker 在本機上運行 WordPress!

Sep 10, 2024 pm 08:32 PM

在本機系統上安裝 WordPress 有許多步驟。您需要安裝 PHP、MySQL、伺服器等。值得慶幸的是,有了 Docker 的幫助,本地安裝 WordPress 有了更簡單的方法!方法如下!

步驟

⚠️ 在繼續之前,請確保您已安裝 Docker。

步驟1:建立一個新目錄

首先,我們需要為您的專案建立一個新的資料夾/目錄。在您想要的任何地方創建它並從您的終端打開它/指向它。

mkdir my-wordpress-blog
cd my-wordpress-blog

第 2 步:開啟程式碼編輯器

接下來我們將建立一些檔案和資料夾。最簡單的方法是打開您最喜歡的程式碼編輯器。我的是 Visual Studio Code,可以像這樣從終端機開啟:

code .

第 3 步:建立 Dockerfile

使用程式碼編輯器建立第一個名為 Dockerfile 的檔案。在文件內,貼上以下行:

FROM php:7.4-apache

RUN docker-php-ext-install mysqli

但這有什麼作用呢?

嗯,Dockerfile 基本上是一個文件,它提供瞭如何創建“映像”(基本上是一個藍圖)的說明,該“映像”將用於創建容器,在本例中,該容器將容納我們的WordPress 網站。

這個特定的 Dockerfile 的作用基本上是:

  • 使用 Apache 和 PHP 映像作為基礎。這意味著我們的容器將安裝 Apache 伺服器和 PHP。

  • 安裝 PHP 擴充功能 mysqli。這是 WordPress 連接到 MySQL 資料庫所需的擴充功能。

步驟 4:建立 Docker Compose 文件

接下來,我們將建立一個名為 docker-compose.yml 的新檔案。將以下內容貼到此文件中:

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./wordpress:/var/www/html
    ports:
      - "8080:80"

  db:
    image: mysql
    container_name: my-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password1
      MYSQL_DATABASE: wordpress

那麼,這是做什麼的?

docker-compose 檔案是一個向 Docker 提供有關如何同時建立和運行多個容器的說明的檔案。

在我們的例子中,我們的檔案將建立並運行 2 個容器:

  1. 「網路」容器:這將是我們的 WordPress 網站所在的位置。它將根據我們之前建立的 Dockerfile 建立一個容器。它還會複製我們網站的內容,我們將在下一步下載這些內容。

  2. MySQL 伺服器。這就是我們的數據所在的地方。如果您想使用 MariaDB,請將 image: mysql 替換為 image: mariadb。

步驟5:下載WordPress

現在我們已經有了完整堆疊的藍圖,是時候添加一些內容了。我們將前往 WordPress 官方網站並下載 WordPress 檔案。

下載應該需要幾秒鐘,然後它將下載一個 ZIP 檔案。

zip 檔案應包含一個名為「wordpress」的資料夾。繼續將其提取到您的驅動器上。

第 6 步:將 Wordpress 目錄移至您的專案

從 ZIP 檔案中提取 WordPress 資料夾後,繼續將該資料夾移至您的專案。

完成此操作後,專案根目錄下的檔案應如下所示:

? wordpress
? docker-compose.yml
? Dockerfile

如果 WordPress 資料夾不是“wordpress”,您可以繼續重新命名它。

第 7 步:建置容器

現在一切準備就緒,我們可以運行我們的網站了。首先,我們需要從 Dockerfile 建置「web」容器的映像。為此,請從 Docker Compose 執行建置命令:

docker compose build

這應該需要幾秒鐘才能完成,並且在您的終端中應如下所示:

Run WordPress locally using Docker!

第 8 步:運行容器

建置成功完成後,您現在可以執行網站。為此,我們使用 Docker Compose 中的 up 指令:

docker compose up -d

運作時,你的終端應該看起來像這樣:

Run WordPress locally using Docker!

所以剛才發生了什麼事?讓我們來討論一些技術細節:

我們剛剛所做的是運行兩個容器:一個名為“web”,用於我們的 WordPress 網站,另一個名為“db”,其中包含我們的 MySQL 資料庫。然後我們使用 Docker Compose 中的命令來方便地同時執行兩個容器。

因為這兩個容器運行在同一個 Compose 檔案下,所以它們運行在同一個「網路」下。這意味著它們是相互連接的。因此,例如,當您需要從Web容器連接到資料庫時,執行此操作的URL是http://db:3306(因為資料庫容器的名稱是db)。我們在設置網站時需要這個。

第 9 步:設定您的網站

幾秒鐘後,您的網站應該啟動並運行。您可以透過在瀏覽器中開啟此 URL 來存取它:

http://localhost:8080

Once opened, you should see this screen:

Run WordPress locally using Docker!

Select a language and click Continue.

You'll be asked for the database credentials. Add these:

  • Database name: wordpress
  • Username: root
  • Password: password1
  • Database host: db

After adding these, you can go ahead and run the installation:

Run WordPress locally using Docker!

Now add your site details. Here you'll be asked about your site details, like the site name, a username, password etc. Add whatever you like here:

Run WordPress locally using Docker!

Click Install Wordpress.

After that's done, you're pretty much good to go! ?

Run WordPress locally using Docker!

Click Log In. You'll be presented with a log in screen:

Run WordPress locally using Docker!

Add the credentials you specified during the set up.

Tada! That's it! ?

Once you log in, you'll be shown the dashboard:

Run WordPress locally using Docker!

Here's where you can write articles, create new pages, customise your website to your liking and many many more. This is what makes WordPress so great!

Click on your site's name on the top right to go to the actual site:

Run WordPress locally using Docker!

This is your website up and running locally complete with a handy Dashboard which can be accessed here:

http://localhost:8080/wp-admin/

Success!

Enjoy editing your new WordPress blog!

以上是使用 Docker 在本機上運行 WordPress!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何了解最新的PHP開發和最佳實踐? 我如何了解最新的PHP開發和最佳實踐? Jun 23, 2025 am 12:56 AM

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

什麼是PHP,為什麼它用於Web開發? 什麼是PHP,為什麼它用於Web開發? Jun 23, 2025 am 12:55 AM

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

如何設置PHP時區? 如何設置PHP時區? Jun 25, 2025 am 01:00 AM

tosetTherightTimeZoneInphp,restate_default_timezone_set()functionAtthestArtofyourscriptWithavalIdidentIdentifiersuchas'america/new_york'.1.usedate_default_default_timezone_set_set()

我如何驗證PHP中的用戶輸入以確保其符合某些標準? 我如何驗證PHP中的用戶輸入以確保其符合某些標準? Jun 22, 2025 am 01:00 AM

TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

編寫清潔和可維護的PHP代碼的最佳實踐是什麼? 編寫清潔和可維護的PHP代碼的最佳實踐是什麼? Jun 24, 2025 am 12:53 AM

寫乾淨、易維護的PHP代碼關鍵在於清晰命名、遵循標準、合理結構、善用註釋和可測試性。 1.使用明確的變量、函數和類名,如$userData和calculateTotalPrice();2.遵循PSR-12標準統一代碼風格;3.按職責拆分代碼結構,使用MVC或Laravel式目錄組織;4.避免麵條式代碼,將邏輯拆分為單一職責的小函數;5.在關鍵處添加註釋並撰寫接口文檔,明確參數、返回值和異常;6.提高可測試性,採用依賴注入、減少全局狀態和靜態方法。這些做法提升代碼質量、協作效率和後期維護便利性。

什麼是php(serialize(),Unserialize())中的數據序列化? 什麼是php(serialize(),Unserialize())中的數據序列化? Jun 22, 2025 am 01:03 AM

thephpfunctionserize()andunSerialize()redustoconvertComplexdatStructDestoresToroStoroStoroSandaBackagagain.1.Serialize()

如何將PHP代碼嵌入HTML文件中? 如何將PHP代碼嵌入HTML文件中? Jun 22, 2025 am 01:00 AM

可以將PHP代碼嵌入HTML文件中,但需確保文件以.php為擴展名,以便服務器能正確解析。使用標準的標籤包裹PHP代碼,可在HTML中任意位置插入動態內容。此外,可在同一文件中多次切換PHP與HTML,實現條件渲染等動態功能。務必注意服務器配置及語法正確性,避免因短標籤、引號錯誤或遺漏結束標籤導致問題。

如何使用PHP執行SQL查詢? 如何使用PHP執行SQL查詢? Jun 24, 2025 am 12:54 AM

Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

See all articles