docker compose搭建博客wordpress

一、前言

docker安裝等入門知識見我之前的這篇文章

https://blog.csdn.net/m0_73118788/article/details/146986119?fromshare=blogdetail&sharetype=blogdetail&sharerId=146986119&sharerefer=PC&sharesource=m0_73118788&sharefrom=from_link

1.1 docker compose介紹

Docker Compose 是 Docker 官方提供的一個工具,它可以幫助你定義和運行多個 Docker 容器的應用。他有如下幾個用途:

  • 多容器應用編排:在實際開發和生產環境中,一個應用往往由多個微服務組成,每個微服務可能運行在獨立的 Docker 容器中。例如,一個 Web應用可能包含 Web 服務器容器、數據庫容器、緩存容器等。Docker Compose允許你在一個文件中定義這些容器及其依賴關系,然后通過一條命令將它們一次性啟動、停止或重新部署。
  • 開發環境搭建:開發人員可以使用 Docker Compose快速搭建一個與生產環境一致的開發環境。通過定義各個服務的鏡像、端口映射、環境變量等配置,確保開發團隊成員的環境一致性,減少因環境差異導致的問題。
  • 測試環境部署:在進行集成測試或端到端測試時,需要同時啟動多個相關的容器。Docker Compose可以方便地管理這些容器的啟動和停止,為測試提供一個穩定的環境。

1.2 docker compose用法初探

#批量上線
docker compose up -d
#批量下線
docker compose down
#啟動
docker compose start x1 x2
#停止
docker compose stop x1 x2
#擴容
docker compose scale x2=3

以下是對這三條 Docker Compose 命令的詳細解釋:

docker compose up -d

功能概述

該命令的主要作用是根據 docker-compose.yml 文件的配置,創建并啟動所有定義的服務容器。

參數解釋
  • up:這是 Docker Compose 的一個子命令,其功能是創建并啟動服務。
  • -d:即 --detach,它讓容器以分離模式在后臺運行。這樣做的好處是,容器啟動后不會將日志信息輸出到當前終端,而是返回容器的 ID,方便用戶繼續在終端執行其他操作。
使用示例

假設你的 docker-compose.yml 文件定義了一個 Web 服務和一個數據庫服務,當你在該文件所在目錄下執行 docker compose up -d 時,Docker Compose 會自動拉取所需的鏡像(如果本地不存在),然后創建并啟動這兩個服務的容器,使它們在后臺運行。

docker compose down

功能概述

此命令用于停止并刪除由 docker compose up 創建的容器、網絡和(可選的)卷。

詳細解釋

當你執行 docker compose down 時,Docker Compose 會按以下步驟操作:

  1. 停止正在運行的所有服務容器。
  2. 刪除這些容器。
  3. 刪除 docker-compose.yml 文件中定義的網絡。
  4. 若使用了 --volumes 選項,還會刪除定義的命名卷。
使用示例

當你完成測試或不再需要這些容器時,在 docker-compose.yml 文件所在目錄下執行 docker compose down,可以快速清理環境,釋放系統資源。

docker compose start x1 x2

功能概述

該命令用于啟動已經停止的服務容器。x1x2 是你在 docker-compose.yml 文件中定義的服務名稱,你可以指定一個或多個服務名稱,用空格分隔。

詳細解釋
  • start:是 Docker Compose 的子命令,用于啟動指定的服務。
  • x1 x2:代表你要啟動的服務名稱。
使用示例

假設你的 docker-compose.yml 文件定義了多個服務,如 webdbcache 等。當你執行 docker compose stop web db 停止了 webdb 服務后,后續可以通過 docker compose start web db 重新啟動這兩個服務。

總結來說,docker compose up -d 用于啟動整個應用棧,docker compose down 用于清理環境,docker compose start 則用于啟動已停止的特定服務。

docker compose stop x1 x2

功能概述

該命令的主要功能是停止 docker-compose.yml 文件中指定的服務容器。這里的 x1x2 代表在 docker-compose.yml 文件里定義的服務名稱,你能夠指定一個或多個服務名稱,以空格分隔。

參數解釋
  • stop:屬于 Docker Compose 的子命令,其作用是停止正在運行的服務容器。
  • x1 x2:指的是要停止的服務名稱。
使用示例

假設你的 docker-compose.yml 文件定義了多個服務,像 webdbcache 等。當你執行 docker compose stop web db 時,Docker Compose 會找到 webdb 對應的容器,并且停止它們的運行。不過,這些容器只是被停止,并沒有被刪除,之后你可以使用 docker compose start web db 再次啟動它們。

docker compose scale x2=3

功能概述

此命令用于調整指定服務的容器數量。x2 是在 docker-compose.yml 文件中定義的服務名稱,3 表示要將該服務的容器數量擴展或收縮到 3 個。

參數解釋
  • scale:是 Docker Compose 的子命令,其用途是調整服務的容器數量。
  • x2=3:其中 x2 為服務名稱,3 是期望的容器數量。如果當前 x2 服務的容器數量小于 3,Docker Compose 會創建新的容器以達到 3 個;若當前容器數量大于 3,Docker Compose 會停止并刪除多余的容器,使容器數量變為 3 個。
使用示例

假設在 docker-compose.yml 文件中定義了一個 worker 服務,最初只啟動了 1 個容器。當你執行 docker compose scale worker=3 時,Docker Compose 會再創建 2 個 worker 服務的容器,讓 worker 服務的容器總數達到 3 個。這在需要根據負載情況動態調整服務規模時非常有用。

二、做法

工程過程

1. 創建yaml文件
準備yaml文件內容

name: myblog
services:mysql:container_name: mysqlimage: mysql:8.0ports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=wordpressvolumes:- mysql-data:/var/lib/mysql- /app/myconf:/etc/mysql/conf.drestart: alwaysnetworks:- blogwordpress:image: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: mysqlWORDPRESS_DB_USER: rootWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wordpressvolumes:- wordpress:/var/www/htmlrestart: alwaysnetworks:- blogdepends_on:- mysqlvolumes:mysql-data:wordpress:networks:blog:                                                                                                                                                                                                                                                    

命令:

vim compose

然后頁面有跳轉,按i則頁面進入insert模式,粘貼上面的yaml文件內容,按Esc退出編輯,按:wq保存并返回命令行
在這里插入圖片描述
2. 執行yaml文件

docker compose -f 文件名.yaml up -d

在這里插入圖片描述
命令行查看
在這里插入圖片描述
在這里插入圖片描述
3. 完成驗收
訪問網站8080端口即可
在這里插入圖片描述

三、原始方法

此是沒有compose的方法,如果你只想搭建博客wordpress或學習compose,完全可以忽略該章節
命令如下

docker run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=wordpress \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
--restart always --name mysql \
--network blog\
mysql:8.0docker run -d -p 8080:80
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=123456 \
-e WORDPRESS_DB_NAME=wordpress \
-v wordpress:/var/www/html \
--restart always --name wordpress-app \
--network blog\
wordpress:latest

架構圖:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76707.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76707.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76707.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第二期:[特殊字符] 深入理解MyBatis[特殊字符]MyBatis基礎CRUD操作詳解[特殊字符]

前言 🌟 在掌握了 MyBatis 的基本配置與環境搭建之后,接下來的重點便是深入理解其核心功能——CRUD 操作(增刪改查)。💻 數據庫操作是任何應用開發中不可或缺的一環,而 MyBatis 正是通過靈活的 SQL 映射機…

Java面試黃金寶典46

1. Python 如何寫爬蟲 定義:Python 爬蟲是借助 Python 語言編寫程序,模擬瀏覽器行為向目標網站發送 HTTP 請求,獲取網頁內容,再通過解析工具提取所需數據的程序。其本質是自動化的數據采集過程。要點: 發送請求:利用requests庫發送 HTTP 請求,如 GET、POST 等,獲取網頁…

建設“大數據智慧招商平臺”,助力園區突破招商瓶頸!

在數字經濟高速發展的今天,傳統招商模式正面臨信息不對稱、效率低下、匹配不精準等瓶頸。產業園區作為區域經濟發展的核心載體,亟需借助智能化手段提升招商效能。構建大數據智慧招商平臺,利用大數據、人工智能等技術獲取精準招商線索、促進產…

Vue事件修飾符課堂練習

Vue事件修飾符課堂練習 題目?:基于 Vue 2.0,使用事件修飾符 .stop、.prevent、.capture、.self 和 .once,為按鈕綁定 click 事件,并展示每個修飾符的作用。 要求?: 創建一個 Vue 實例,并綁定到一個 HT…

【C#】線程回調

在 C# 中,線程回調是一種常見的編程模式,用于在線程完成任務后執行某些操作。通過使用 Thread 類或其他更高層次的并發工具(如 Task),可以實現線程回調的功能。 回調機制 特點 直接性:回調通常是通過委托…

【C++游戲引擎開發】第14篇:視圖空間與相機坐標系

一、視圖空間的基礎數學框架 1.1 齊次坐標與變換矩陣 三維坐標系變換采用44齊次坐標矩陣,其通用形式為: M = [ A 3 3 b 3 1 0 1 3 1 ] \mathbf{M} = \begin{bmatrix} \mathbf{A}_{33} & \mathbf{b}_{31} \\ \mathbf{0}_{13} & 1 \end{bmatrix} M=[A33?013??…

【大模型理論篇】關于生成式模型中聯合分布概率學習必要性以及GPT是生成式模型的討論

1. 背景 之前我們在《生成式模型與判別式模型對比(涉及VAE、CRF的數學原理詳述)》以及《生成式模型算法原理深入淺出(涉及Stable Diffusion、生成對抗網絡、高斯混合模型、隱馬爾可夫模型、樸素貝葉斯等算法原理分析及生成式模型解釋)》中,我…

DIP支付方式改革下各種疾病醫療費用的影響以及分析方法研究綜述

DIP支付方式改革下各種疾病醫療費用的影響以及分析方法研究綜述 摘要 本文綜述了DIP支付方式改革對不同疾病醫療費用的影響及其分析方法,通過分析12篇相關文獻,探討了DIP支付方式在控制醫療費用、優化費用結構、提升醫療服務效率等方面的作用及其局限性…

嵌入式硬件篇---單片機周期

文章目錄 前言 前言 在單片機中,時序控制是其執行指令和協調外設的核心基礎。以下是單片機中常見的各種周期及其詳細說明,以層次結構展開: 時鐘周期(Clock Cycle) 定義: 時鐘周期是單片機的最小時間單位&a…

游戲引擎學習第221天:(實現多層次過場動畫)

資產: intro_art.hha 已發布 在下載頁面,你會看到一個新的藝術包。你將需要這個藝術包來進行接下來的開發工作。這個藝術包是由一位藝術家精心制作并打包成我們設計的格式,旨在將這些藝術資源直接應用到游戲中。它包含了許多我們會在接下來的直播中使用…

【3GPP核心網】【5G】精講5G系統的策略和計費控制框架

1. 歡迎大家訂閱和關注,精講3GPP通信協議(2G/3G/4G/5G/IMS)知識點,專欄會持續更新中.....敬請期待! 目錄 1. 系統架構 1.1 非漫游架構 1.2 漫游架構 1.3 支持Rx接口 2. 服務化接口及參考點 2.1 PCF 與 AF 間接口 2.2 PCF與SMF間接口 2.3 PCF與AMF間接口 2.4 V-PC…

榕壹云門店管理系統:基于Spring Boot+Mysql+UniApp的智慧解決方案

項目背景:數字化賦能服務行業,破解傳統門店管理痛點 在消費升級與數字化轉型浪潮下,傳統服務行業(如美容、美發、美甲、采耳等)面臨諸多管理挑戰:會員流失率高、預約排班混亂、員工績效統計低效、數據孤島等…

開發效率提升200%——cursor

cursor帶來的編程"革命" 高級語言編程轉為"自然語言編程"借助cursor,直接超越初級后臺開發、超越初級前端開發、超越初級測試、超越初級UI,產研一體linux命令只用學不用記,語言描述就是命令給一個表結構流程提示詞&…

UE4 踩坑記錄

1、Using git status to determine working set for adaptive non-unity build 我刪除了一個沒用的資源,結果就報這個錯,原因就是這條命令導致的, 如果這個項目是git項目, ue編譯時會優先通過 git status檢查哪些文件被修改&#…

藍橋杯 2025 C++組 省 B 題解

可分解的正整數 算法&#xff1a;思維 因為可以有負數 所以除了1以外的任何數都可以構造 當這個數為x構造方法為 -(x-1) -(x-2) -(x-3) ....-1 0 1...x-3 x-2 x-1 x 除了x&#xff0c;x以前的數都會被負數抵消 #include <bits/stdc.h> #define ll long long ll a…

docker創建容器添加啟動--restart選項

一、通過 Docker 命令直接修改已啟動的容器&#xff08;推薦-已驗證&#xff09; 操作步驟&#xff1a; 1.執行更新命令&#xff1a; docker update --restartalways <容器名或ID>此命令會將容器的重啟策略調整為 always&#xff08;無論容器以何種狀態退出&#xff0…

redission鎖釋放失敗處理

redission鎖釋放失敗處理 https://www.jianshu.com/p/055ae798547a 就是可以刪除 鎖的key 這樣鎖就釋放了&#xff0c;但是 還是要結合業務&#xff0c;這種是 非正規的處理方式&#xff0c;還是要在代碼層面進行處理。

【語音識別】vLLM 部署 Whisper 語音識別模型指南

目錄 1. 模型下載 2. 環境安裝 3. 部署腳本 4. 服務測試 語音識別技術在現代人工智能應用中扮演著重要角色&#xff0c;OpenAI開源的Whisper模型以其出色的識別準確率和多語言支持能力成為當前最先進的語音識別解決方案之一。本文將詳細介紹如何使用vLLM&#xff08;一個高…

Windows Server 2019 安裝 Docker 完整指南

博主本人使用的是離線安裝 1. 安裝前準備 系統要求 操作系統&#xff1a;Windows Server 2019&#xff08;或 2016/2022&#xff09;權限&#xff1a;管理員權限的 PowerShell網絡&#xff1a;可訪問互聯網&#xff08;或離線安裝包&#xff09; 啟用容器功能 Install-Win…

C# 混淆代碼工具--ConfuserEx功能與使用指南

目錄 1 前言1.1 可能帶來的問題 2 ConfuserEx2.1 簡介2.2 功能特點2.3 基本使用方法2.4 集成到MSBuild2.5 深入設置2.5.1 保護機制2.5.1.1 ConfuserEx Protection 2.5.2 精細的代碼保護主要特性1. decl-type(string)2.full-name(string)3. is-public()4. match(string)5. match…