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