在本文中,我將向您展示如何以一種更輕鬆的方式設置Docker。 Docker擁有WordPress的官方圖像,可以更輕鬆地開始。我們還將查看Docker撰寫的類似於Heroku的配置。畢竟,手動建造和管理容器可以進行大量工作。
官方WordPress Docker Image>在開始之前,請確保您創建一個新文件夾並在該文件夾中導航。
接下來,在Docker Hub上搜索“ WordPress”並拉動該圖像。
然後,從中構建一個容器。
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
>我們看到了兩個環境變量。 WordPress_DB_Password是我們用戶的數據庫密碼。但是我們尚未指定這一點。不過請放心,此圖像將使用我們尚未指定的環境變量(首次創建容器時)使用默認值。例如,如果我們不定義WordPress_db_user,將是根。與WordPress的數據庫名稱同樣適用於默認值。查看官方文檔以獲取其他環境變量。 -d使容器在後台運行。我們看不到容器的IP地址,以使此執行Docker Inspect WordPress獲取其IP和端口。我的是172.17.0.10,端口為80。使用Docker Inspect,您可以找到有關容器的許多有用信息。
>>訪問瀏覽器中WordPress容器的IP,您會看到類似的東西:
這個示例的問題是我們無法訪問WordPress文件,而且每次啟動容器時,都會更改其IP。但是我們可以輕鬆解決這兩個問題。
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
這是一個很長的命令,我們在這裡看到了兩個新參數。 -p和-v參數。 -p參數用於端口映射。在容器內部,Apache在端口80上運行。我們告訴Docker,我們將使用端口8080與容器內的端口80進行通信。另外,我們將127.0.0.2指定為此容器的IP。 -v“ $ pwd/”:/var/www/html將映射兩個文件夾。默認情況下,容器將WordPress文件放在/var/www/html目錄中,該目錄是容器內部的文件系統(這與我們的本地文件系統無關)。查看您當前的目錄,您會看到一些其他文件。
使用新容器,您現在可以在我們的文件系統中修改文件。在上一個示例中,能夠寫入我們的文件系統是更多的工作。此方法要簡單得多。但是可以更簡單嗎?當然可以!
這個工具以無花果名稱(不是由Docker團隊)作為開源,更容易管理多個容器的解決方案。現在,該工具由Docker正式維護(以Docker撰寫的名稱)。移動作曲之前,請確保首先安裝它。您只需要一個Docker-compose.yml文件和一個新的項目文件夾。在此文件中,我們將編寫構建WordPress和MySQL容器所需的所有配置。 Docker構成,就像Docker CLI一樣,使用Docker守護程序來創建容器,因此基本上您可以使用CLI進行幾乎所有的操作。
讓我們看看一個示例:
docker run --name wordpressdb <span>-e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress -d mysql:5.7</span>
>大多數讀者應該熟悉這一點。 Web和MySQL是容器的名稱。當這些容器是由組合構建時,實際名稱是不同的。由Compose創建的容器具有一個名稱,例如[foldername] compose_ [containname] _ [number]。 [foldername]將是docker-compose.yml的父文件夾,[containName]在這種情況下為web或mysql,[number]將是容器的數量。組成的好處是,您可以擁有一種以上的一種類型的容器。我們可以有兩個網絡容器。在這種情況下,他們的名稱為[foldername] compose_web_1和[foldername] compose_web_2。這也適用於docker-compose.yml(例如mySQL容器)中定義的其他容器。
使用一種類型的容器時,您需要指定單獨的IP地址。
docker pull wordpress
這就像-link mysql:mysql。
docker run <span>-e WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql wordpress</span>
這就像-p 127.0.0.3:8080:80。
docker run -e <span>WORDPRESS_DB_PASSWORD=password -d --name wordpress --link wordpressdb:mysql -p 127.0.0.2:8080:80 -v "$PWD/":/var/www/html wordpress</span>
>要了解有關Docker Compose命令和Docker-Compose.yml的更多信息,您可以在此處找到CLI參考,並在此處找到Docker-Compose.yml參考。
>現在您已經獲得了docker-compose.yml文件,執行docker-compose並組成將開始為您構建容器。導航到127.0.0.3:8080,您將再次看到一個歡迎頁面。現在,我們需要的只是訪問WordPress文件。> 正如我們之前討論的那樣,要訪問本地文件系統上的WordPress文件,我們需要執行諸如-v“ $ pwd/”:/var/var/www/html之類的事情。您應該添加一個工作目錄並映射兩個文件夾(一個在容器中,一個在本地文件系統上)。為此,我們只添加以下兩行:
>working_dir告訴WordPress映像在該目錄中安裝WordPress。卷:諸如-v“ $ pwd/wordpress”的行為:/var/www/html/wp -content。 WordPress文件屬於/var/www/html文件夾。我們實際上只對WP-Content文件夾感興趣,因為那是我們的插件和主題居住的地方。畢竟,大多數開發人員僅處理此文件夾。
> 再次執行Docker-Compose。如果您在Linux上,則應將WordPress文件夾(本地文件夾)的權限更改為寫入。這是因為容器是由Docker Daemon創建的,該過程始於系統啟動(由Sudo用戶)開始。要解決此執行:
web: image: wordpress links: -<span> mysql </span><span> environment: </span> -<span> <span>WORDPRESS_DB_PASSWORD=password </span></span><span> ports: </span> -<span> <span>"127.0.0.3:8080:80" </span></span><span>mysql: </span> image: mysql:5.7 environment: -<span> <span>MYSQL_ROOT_PASSWORD=password </span></span><span> - <span>MYSQL_DATABASE=wordpress</span></span>
>您現在將寫入這些文件夾的訪問權限,您會很好!
結論>在本文中,我們看到瞭如何使用官方的WordPress Docker映像,并快速介紹了Docker撰寫。如果您尚未在本系列中檢查過以前的文章,則可以在下面找到它們:
<span>environment: </span><span> - WORDPRESS_DB_PASSWORD=password</span>
如果您已經閱讀了這一系列,那麼現在應該更好地了解Docker的工作方式的基本概念。現在,您應該能夠使用使事情變得更容易的抽象和工具。如果您有任何疑問,請在下面發表評論。我知道這是我第三次問,但是如果您考慮將Docker在下一個項目中使用Docker,我很感興趣?
經常詢問有關使用官方Docker WordPress Image
的問題(常見問題解答)>如何安裝官方的Docker WordPress Image?
如何使用Docker WordPress映像運行WordPress站點?
>如何配置Docker WordPress Image? >
可以使用環境變量配置Docker WordPress圖像。使用-e選項創建容器時,可以設置這些變量。例如,要設置WordPress數據庫名稱,您可以使用命令docker運行-e wordpress_db_name = mydbname -d wordpress。 Docker WordPress映像,您需要使用命令Docker Pull WordPress從Docker Hub中取出最新版本的圖像。下載了最新圖像後,您可以從更新的圖像中創建一個新容器。>
>>我如何對Docker WordPress image的問題進行故障排除?
以對Docker WordPress Image的問題進行故障排除。 ,您可以使用Docker Logs命令查看WordPress容器的日誌。這可以提供有關可能發生的任何錯誤或問題的有價值的信息。 我可以在生產環境中使用Docker WordPress圖像嗎?為了保護您的WordPress網站,您應始終使用最新版本的Docker WordPress映像,其中包括最新的安全補丁。您還應該配置WordPress站點以使用HTTP,並定期備份WordPress文件和數據庫。
>以上是如何使用官方Docker WordPress圖像的詳細內容。更多資訊請關注PHP中文網其他相關文章!