本教程將向您展示如何使用 Docker Compose 在 Docker 容器中運行 WordPress 安裝。WordPress是世界上最流行的 CMS(內(nèi)容管理系統(tǒng)),這使其成為構(gòu)建新站點時最重要的考慮因素。它建立在帶有 PHP 處理的 MySQL 數(shù)據(jù)庫上。設(shè)置本地 WordPress 安裝涉及多個步驟,并且可能是一個耗時的過程。通常,您需要設(shè)置本地Web 服務(wù)器,配置服務(wù)器以執(zhí)行 PHP 代碼,并設(shè)置 MySQL 數(shù)據(jù)庫。然而,設(shè)置本地 WordPress 環(huán)境的最簡單方法是將容器化與 Docker 結(jié)合使用。相關(guān):一文看懂什么是 Docker 容器 https://www./docker-container.html如果您剛開始使用 Docker 并且還沒有安裝 Docker,我建議您查看我們的教程《在 Ubuntu 上安裝 Docker 分步圖文指南 https://www./ubuntu-docker-zhinan.html 》。1. 安裝 Docker Compose當(dāng)廣泛使用 Docker 時,幾個不同容器的管理很快變得繁瑣。Docker Compose 是一個工具,您可以使用它輕松定義和啟動 Docker 中的多容器應(yīng)用程序。使用 Compose,您可以在單個 YAML 文件中定義所有服務(wù),并且使用單個命令,可以啟動或拆除所有服務(wù)。在本教程中,我們將使用 Docker Compose 在隔離的容器化環(huán)境中并排運行兩個容器(WordPress 和 MySQL)。現(xiàn)在讓我向您展示如何安裝最新版本的 Docker Compose 來幫助您管理多容器應(yīng)用程序。首先,檢查 當(dāng)前版本 ,如有必要,在下面的命令中更新它:sudo curl -L 'https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)' -o /usr/local/bin/docker-compose 然后將可執(zhí)行權(quán)限應(yīng)用于二進制文件:
linuxmi@linuxmi:~/www.$ sudo chmod +x /usr/local/bin/docker-compose
linuxmi@linuxmi:~/www.$ docker-compose --version
Docker Compose version v2.2.2
更多關(guān)于Docker Compose的內(nèi)容可以參考官方文檔。2. 準(zhǔn)備目錄您需要創(chuàng)建一個名為wordpressunder的新目錄/srv來存放 WordPress 數(shù)據(jù)。這樣我們就實現(xiàn)了一定的數(shù)據(jù)持久化。linuxmi@linuxmi:~/www.$ sudo mkdir -p /srv/wordpress[sudo] linuxmi 的密碼:linuxmi@linuxmi:~/www.$ cd /srv/wordpress/
大家知道,Docker 容器中的數(shù)據(jù)不是持久的。這意味著如果您停止容器并再次運行它,您將丟失所有數(shù)據(jù),里面將不再有任何數(shù)據(jù)。當(dāng)然,這可以通過添加 Docker 數(shù)據(jù)卷來避免,您將在本教程后面看到。3. 創(chuàng)建 YAML 文件在 Docker Compose 領(lǐng)域中,運行容器所需的所有資源都必須在名為 .yaml 的 YAML 文件中定義docker-compose.yaml。然后 Docker Compose 將讀取此類文件并與 Docker 守護程序通信以創(chuàng)建、配置或銷毀定義的資源。在我們的例子中,該 docker-compose.yaml 文件將包含我們的 dockerized WordPress 設(shè)置的服務(wù)定義。此外,Docker Compose 允許我們將這些服務(wù)與共享網(wǎng)絡(luò)和卷鏈接在一起。因此,讓我們從使用Vim編輯器在/srv/wordpress目錄中創(chuàng)建一個新文件docker-compose.yaml開始 。使用如下內(nèi)容來填充它:version: '3'services: mysql: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: my_password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress_user MYSQL_PASSWORD: wordpress_password volumes: - mysql_data:/var/lib/mysql wordpress: image: wordpress:latest depends_on: - mysql ports: - 8080:80 restart: always environment: WORDPRESS_DB_HOST: mysql:3306 WORDPRESS_DB_USER: wordpress_user WORDPRESS_DB_PASSWORD: wordpress_password volumes: - ./wp-content:/var/www/html/wp-contentvolumes: mysql_data:
- 我們定義了兩個自動相互鏈接的服務(wù)、
mysql和wordpress。 - 他們使用 Docker 鏡像,這將決定使用哪個版本的 MySQL 和 WordPress。在這種情況下,他們的最新版本。
- MySQL環(huán)境:WordPress 將使用這些環(huán)境變量連接到 MySQL 容器。
- WordPress環(huán)境:要運行 WordPress 容器,您應(yīng)該設(shè)置數(shù)據(jù)庫連接詳細(xì)信息。
- WordPress 映像基于 Apache,它通過 derfault在端口 上運行
80。將默認(rèn) Apache 端口映射到8080 本地計算機的端口。 - mysql_data:流入這個數(shù)據(jù)庫的數(shù)據(jù)將被持久化到一個命名卷
mysql_data,這樣即使你刪除了容器,數(shù)據(jù)仍然存在于你的機器上,并且可以再次安裝在新的容器中。 另外,下面的volumes 參數(shù) wordpress 是告訴Dockerwp-content 在本地文件系統(tǒng)中顯示 目錄?,F(xiàn)在,我們?yōu)?WordPress 站點的某些部分(例如wp-content目錄)提供了持久存儲。在wp-content 包含所有用戶提供的內(nèi)容?;旧?,您可以上傳到網(wǎng)站的任何內(nèi)容都會在此處結(jié)束。但是,只要您同時擁有數(shù)據(jù)庫和 wp-content 文件夾,您就可以隨時恢復(fù)您的站點,即使其他所有內(nèi)容都丟失了。4. 使用 Docker Compose 運行 WordPress現(xiàn)在您已準(zhǔn)備好運行將構(gòu)建本地環(huán)境的 Docker 命令。確保您仍在wordpress目錄中。運行以下命令:linuxmi@linuxmi:~/www.$ sudo docker-compose up -d
該命令將開始運行腳本,當(dāng) Docker 拉入 MySQL 和 WordPress 圖像時,您應(yīng)該會在終端中看到各種“正在下載”和“正在等待”消息。4-5分鐘即可。當(dāng)您密切關(guān)注本地文件系統(tǒng)時,您會看到在拉入 Docker 鏡像后,/srv/wordpress/wp-content將創(chuàng)建文件夾,并填充文件和文件夾。OK,現(xiàn)在帶有 MySQL 容器和 WordPress 容器的 WordPress 安裝已成功。5. 訪問您的 WordPress 安裝最后,在我們的容器運行的情況下,我們可以通過 WordPress Web 界面完成安裝。在 Web 瀏覽器中,導(dǎo)航到http://localhost:8080或http://your_ip_address:8080。您可能需要使用 ifconfig 命令找出您的 IP 地址。您將看到語言選擇頁面。選擇您的語言,然后單擊繼續(xù)。在下一個屏幕中,填寫必要的信息并單擊安裝 WordPress。最后,當(dāng)出現(xiàn)提示時,單擊登錄。然后您將看到標(biāo)準(zhǔn)的 WordPress 登錄屏幕。成功通過身份驗證后,您就可以開始使用 WordPress。額外的 Docker Compose 選項首先,確保您在/srv/wordpress目錄中。要查看Docker 應(yīng)用程序的狀態(tài),請執(zhí)行以下命令:linuxmi@linuxmi:/srv/wordpress$ sudo docker-compose psNAME COMMAND SERVICE STATUS PORTSwordpress-mysql-1 'docker-entrypoint.s…' mysql running 33060/tcpwordpress-wordpress-1 'docker-entrypoint.s…' wordpress running 0.0.0.0:8080->80/tcp, :::8080->80/tcp
linuxmi@linuxmi/srv/wordpress$ sudo docker-compose stop 要啟動現(xiàn)有容器中開始與 docker-compose up:linuxmi@linuxmi/srv/wordpress$ sudo docker-compose start 下面顯示的命令將停止并刪除容器和所有網(wǎng)絡(luò):linuxmi@linuxmi/srv/wordpress$ sudo docker-compose down
結(jié)論我們向您介紹了 Docker Compose 背后的概念,您現(xiàn)在應(yīng)該能夠定義甚至是簡單的多容器應(yīng)用程序。在本教程中,您使用 Docker Compose 安裝了帶有 Docker 的 WordPress。您現(xiàn)在已經(jīng)啟動并運行了 WordPress。我們希望您喜歡這篇關(guān)于使用 Docker 安裝 WordPress的指南文章。來自:Linux迷 鏈接:https://www./docker-install-wordpress.html
|