Docker實踐:使用Docker部署blog輕量級博客系統

Docker實踐:使用Docker部署blog輕量級博客系統

  • 一、blog系統介紹
    • 1.1 blog介紹
    • 1.2 個人博客系統介紹
    • 1.3 個人博客使用場景
  • 二、本地環境介紹
    • 2.1 本地環境規劃
    • 2.2 本次實踐介紹
  • 三、本地環境檢查
    • 3.1 檢查Docker服務狀態
    • 3.2 檢查Docker版本
    • 3.3 檢查docker compose 版本
  • 四、下載blog鏡像
  • 五、部署blog個人博客系統
    • 5.1 使用docker-cli部署
    • 5.2 下載blog源碼
    • 5.3 修改docker-compose.yml文件
    • 5.3 創建blog容器
    • 5.4 檢查blog容器狀態
  • 六、訪問blog個人博客系統
    • 6.1 訪問blog首頁
    • 6.2 登錄blog
    • 6.3 發布博客內容
    • 6.4 瀏覽博客內容
  • 七、總結

一、blog系統介紹

1.1 blog介紹

  • blog系統簡介

這是一個簡單的自托管、輕量級、單用戶 PHP 博客,您可以在其中創建自己的類似 Facebook 的提要。向其他人授予讀取權限,并且您可以共享包含照片(包括突出顯示的代碼或鏈接)的富文本。

1.2 個人博客系統介紹

開源的個人博客系統是一種允許用戶創建、管理和發布自己的博客的平臺。它是基于開源軟件的,意味著任何用戶可以自由地訪問、修改和分發系統的源代碼。例如比較有名的wordpress/Ghost/Hexo/halo/Hugo等博客系統,這些開源個人博客系統都有活躍的社區支持和更新,可以根據自己的需求選擇合適的系統,并根據需要進行定制和擴展。

1.3 個人博客使用場景

開源的個人博客系統適用于以下場景:

  • 個人博客:適合個人或小團隊創建和管理個人博客網站,記錄個人的思考、經驗分享、技術總結等內容。

  • 學術研究:適用于學者、研究員或學生創建學術博客,分享研究成果、學術觀點和學術活動等內容。

  • 技術博客:適合開發者、程序員或技術愛好者創建技術博客,分享技術經驗、開發教程、工具推薦等內容。

  • 文學創作:適用于作家、詩人或文藝愛好者創建文學博客,發布作品、分享創作心得和文學評論等內容。

  • 新聞媒體:適合新聞機構、記者或新聞愛好者創建新聞博客,發布新聞報道、時事評論和專題報道等內容。

  • 教育培訓:適用于教師、教育機構或在線教育平臺創建教育博客,發布教學資源、教育理念和教學經驗分享等內容。

  • 社區互動:適合創建社區博客網站,鼓勵用戶參與互動、發布帖子、評論和分享內容。

二、本地環境介紹

2.1 本地環境規劃

本次實踐為個人測試環境,操作系統版本為centos7.6。

hostnameIP地址操作系統版本Docker版本
jeven192.168.3.166centos 7.620.10.17

2.2 本次實踐介紹

1.本次實踐部署環境為個人測試環境,生產環境請謹慎;
2.在Docker環境下部署blog個人博客系統。

三、本地環境檢查

3.1 檢查Docker服務狀態

檢查Docker服務是否正常運行,確保Docker正常運行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)Active: active (running) since Fri 2023-12-08 19:10:36 CST; 21h agoDocs: https://docs.docker.comMain PID: 11729 (dockerd)Tasks: 22Memory: 186.1MCGroup: /system.slice/docker.service

3.2 檢查Docker版本

檢查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下載blog鏡像

從docker hub拉取blog鏡像

[root@jeven blog]# docker pull m1k1o/blog:latest
latest: Pulling from m1k1o/blog
7d63c13d9b9b: Pull complete
24b15dfd3cfa: Pull complete
64625c2e355f: Pull complete
275a8dd8f358: Retrying in 1 second
eb1c8ccc797a: Download complete
0aaf98f0c33a: Download complete
e6e7c544c3e3: Retrying in 2 seconds
4ae870a5fb80: Retrying in 1 second
98833c4f4a49: Waiting
f1a6af6bf10a: Waiting
a56ec4dacea3: Waiting
ab49679021a9: Waiting
62d224267322: Waiting
72321144b430: Waiting
25bec77f4422: Waiting
latest: Pulling from m1k1o/blog
Digest: sha256:b3c48fed76e80de423e5a5a14a9b5070f3a4e8ae93be6b45991d3249fc74b681
Status: Image is up to date for m1k1o/blog:latest
docker.io/m1k1o/blog:latest

五、部署blog個人博客系統

5.1 使用docker-cli部署

使用docker-cli部署,執行以下命令即可。直接使用以下命令創建blog容器時,默認使用的數據庫為SQLite。

docker run -d \-p 80:80 \-e "TZ=Europe/Vienna" \-e "BLOG_TITLE=Blog" \-e "BLOG_NAME=Max Musermann" \-e "BLOG_NICK=username" \-e "BLOG_PASS=password" \-e "BLOG_LANG=en" \-v $PWD/data:/var/www/html/data \m1k1o/blog:latest

5.2 下載blog源碼

在github下載blog源碼包

cd /data
[root@jeven data]# git clone https://github.com/m1k1o/blog.git
Cloning into 'blog'...
remote: Enumerating objects: 1492, done.
remote: Counting objects: 100% (190/190), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 1492 (delta 163), reused 160 (delta 150), pack-reused 1302
Receiving objects: 100% (1492/1492), 4.14 MiB | 2.90 MiB/s, done.
Resolving deltas: 100% (923/923), done.

設置目錄權限

chmod -R 777 /data/blog/

5.3 修改docker-compose.yml文件

進入blog源碼目錄

[root@jeven blog]# ls
ajax.php  common.php  data                Dockerfile   index.php  README.md   static
app       config.ini  docker-compose.yml  favicon.ico  LICENSE    robots.txt

修改docker-compose.yml文件,內容如下:

version: "3"services:blog:image: m1k1o/blog:latestrestart: unless-stoppedenvironment:TZ: Asia/ShanghaiBLOG_TITLE: BlogBLOG_NAME: Max MusermannBLOG_NICK: blogBLOG_PASS: blogBLOG_LANG: enports:- 8012:80volumes:- ./data:/var/www/html/data

5.3 創建blog容器

使用docker compose 快速創建blog容器

[root@jeven blog]# docker compose up -d
[+] Running 1/1? Container blog-blog-1  Started                                                                                       0.3s

5.4 檢查blog容器狀態

檢查blog容器運行狀態,確保blog容器正常啟動。

[root@jeven blog]#  docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
blog-blog-1         "docker-php-entrypoi…"   blog                running             0.0.0.0:8012->80/tcp, :::8012->80/tcp

六、訪問blog個人博客系統

6.1 訪問blog首頁

訪問地址:http://192.168.3.166:8012,將IP替換為自己服務器IP地址,進入blog首頁。

在這里插入圖片描述

6.2 登錄blog

我們在docker-compose.yml文件中設置的登錄用戶名和密碼為blog/blog

在這里插入圖片描述
在這里插入圖片描述

6.3 發布博客內容

在編輯框內編輯博客內容,點擊公開,保存發布。

在這里插入圖片描述

6.4 瀏覽博客內容

在其他瀏覽器訪問http://192.168.3.166:8012,可以看到博客內容。

在這里插入圖片描述

七、總結

Blog輕量級博客系統是一款開源的博客系統,它簡單易用、系統資源占用少。它有簡潔漂亮的界面,可以方便地分享文章、圖片等內容。如果對Blog感興趣,可以嘗試部署體驗一下。

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

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

相關文章

專題:2025電商增長新勢力洞察報告:區域裂變、平臺壟斷與銀發平權|附260+報告PDF、原數據表匯總下載

原文鏈接:https://tecdat.cn/?p43416 當茂名果農對著鏡頭用方言喊出“荔枝現摘現發”,2小時賣出83萬元;當65歲的上海阿姨通過“子女代付”買到人生第一臺智能冰箱——2025年的電商戰場,正在上演三重革命:新興市場的增…

數字化轉型-AI落地金字塔法則

前言 人工智能必須要跟傳統產業結合,融入傳統產業,才能落地,才能產生巨大的倍增個幾何級效果!! AI不應該停留在工具層面,AI不僅僅是工具,不僅僅是硬件和軟件,而是軟硬結合。人工智能…

SQL Server 字段類型選型指南:什么數據用什么字段

目錄 一、數值型數據 二、日期與時間數據 三、字符串與文本數據 四、布爾值與狀態碼 五、二進制與文件數據 六、唯一標識符(GUID) 七、枚舉與代碼表設計 八、存儲優化小結 九、總結 在數據庫設計中,字段類型(數據類型&am…

酷暑來襲,科技如何讓城市清涼又潔凈?

烈日下的身影,不該被“炙烤”的擔當又是一年盛夏,城市的血管在高溫下脈動,柏油馬路仿佛要融化,空氣中彌漫著灼熱的氣息。此刻,你是否曾留意過那些身影?在烈日下,他們依舊堅守崗位,用…

傳統框架與減震樓蓋框架地震動力響應分析與有限元模擬

傳統框架與減震樓蓋框架地震動力響應分析與有限元模擬 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 摘要 本文針對傳統鋼框架和減震樓蓋鋼框架兩種結構體系,建立了水平地震作用下的動力學模型,推…

Java集合去重

? 方式一&#xff1a;TreeSet Comparator最優雅的一種&#xff0c;適用于對象中某個字段唯一的去重&#xff08;如 partyAId&#xff09;List<PartyACompanyVO> result contractDOS.stream().map(contract -> {PartyACompanyVO vo new PartyACompanyVO();vo.setPa…

Qt字符串處理與正則表達式應用

一、Qt字符串處理基礎 在Qt應用程序開發中&#xff0c;字符串處理是一項常見且重要的任務。Qt提供了強大而靈活的字符串處理功能&#xff0c;能夠滿足各種復雜的文本處理需求。 1.1 QString類概述 QString是Qt中處理字符串的核心類&#xff0c;它基于Unicode編碼&#xff0c…

qt5靜態版本對應的pcre編譯

下載 https://sourceforge.net/projects/pcre/files/pcre/8.45/ 不同版本qt對應不同pcre 編譯 啟動vs2013的開發人員命令&#xff0c;可以找到cl程序 nmake環境設置到系統path中 cd C:\pcre-8.45 mkdir build_static cd build_static cmake .. -G "NMake Makefiles" …

JimuReport 積木報表 v2.1.1 版本發布,免費開源的報表和大屏

項目介紹 積木報表&#xff0c;是一款免費的數據可視化報表&#xff0c;含報表、打印、大屏和儀表盤&#xff0c;像搭建積木一樣完全在線設計&#xff01;功能涵蓋&#xff1a;復雜報表、打印設計、圖表報表、門戶設計、大屏設計等&#xff01; 分兩大模塊&#xff1a;JimuRepo…

基于python django的農業可視化系統,以奶牛牧場為例

摘 要 本文課題圍繞畜牧業高質量發展中牧場管理的現狀&#xff0c;現代牧場飼養模式上存在的數據比較零碎、飼養過程中容易經驗主義、生產產量不穩、產出效益低、奶牛體況的不合理等現狀&#xff0c;設計了多參數大數據智能牧場生產管理決策支撐體系。以牧場信息系統的建設為背…

無人機吊艙與遙控器匹配技術解析

一、 無人機吊艙如何與遙控器“對上暗號”&#xff1f;在無人機執行物資投送、電力巡檢、災害搜救等任務時&#xff0c;吊艙&#xff08;即懸掛于機身下方的任務設備&#xff09;常成為核心作業單元。但要讓遙控器“指揮”吊艙&#xff0c;兩者必須實現雙向通信協議互通、電氣接…

C#模擬pacs系統接收并解析影像設備數據(DICOM文件解析)

上篇文件介紹了什么dicomhttps://blog.csdn.net/qq_39569480/article/details/149641920?spm=1001.2014.3001.5502 本篇文章我們來使用fo_dicom接收并解析dicom文件。 文章結尾附源碼。 1.開發環境 visual studio 2019 .netframwork 4.8 2.關鍵知識點 dicom三要素為 AE t…

在 IntelliJ IDEA 中打開這個用于設置 Git 用戶名(Name)和郵箱(Email)的特定彈窗

要在 IntelliJ IDEA 中打開這個用于設置 Git 用戶名&#xff08;Name&#xff09;和郵箱&#xff08;Email&#xff09;的特定彈窗&#xff08;如下圖&#xff09;&#xff0c;可以通過以下幾種常見方法觸發&#xff1a;https://i.im.ge/2024/07/16/Kt6r1i.IDE-Git-UserName-Co…

redis 源碼閱讀

官網下載zip&#xff1a; 本文即是文件創建時間時候的版本~ 文章目錄目錄結構/srcint main()服務端 server足夠的熵值 entropyumask掩碼系統初始化*重啟機制&#xff1a;保存執行數據 以便后續重啟服務哨兵模式 sentinelrdb aof解析命令行參數聲明實現的位置目錄結構 目錄/文…

《C++》面向對象編程--類(下)

文章目錄一、賦值運算符重載1.1定義1.2基本規則1.3為什么需要運算符重載&#xff1f;1.4示例&#xff1a;二、前置和后置區別2.1前置的實現與特點2.2后置的實現與特點2.3核心區別三、const四、取地址及const取地址操作符重載4.1定義4.2語法4.3注意事項一、賦值運算符重載 1.1定…

EasyExcel 模板導出數據 + 自定義策略(合并單元格)

需求&#xff1a;數據庫里的主表明細表&#xff0c;聯查出數據并導出Excel&#xff0c;合并主表數據的單元格。代碼&#xff1a;controllerPostMapping("export")ApiOperation(value "導出數據")protected void export(ApiParam Valid RequestBody NewWms…

股指期權可以隨時平倉嗎?

本文主要介紹股指期權可以隨時平倉嗎&#xff1f;股指期權是否可以隨時平倉&#xff0c;需結合交易規則、合約狀態及市場流動性綜合判斷&#xff0c;具體如下。股指期權可以隨時平倉嗎&#xff1f;一、正常交易時間內的平倉規則在交易日的交易時段內&#xff08;如國內上證50ET…

成品電池綜合測試儀:保障電池品質與安全的核心工具|深圳鑫達能

隨著新能源汽車、儲能系統、消費電子等領域的快速發展&#xff0c;電池作為核心能源組件&#xff0c;其性能與安全性直接關系到產品的整體質量與用戶體驗。成品電池綜合測試儀作為電池生產與質檢環節的關鍵設備&#xff0c;通過模擬真實使用場景&#xff0c;對電池的電氣性能、…

智慧工廠網絡升級:新型 SD-WAN 技術架構與應用解析

1. 智慧工廠對網絡的核心需求智慧工廠的網絡需求高度復雜&#xff0c;主要體現在以下幾個方面&#xff1a;高可靠性與低延遲工廠中的生產執行系統&#xff08;MES&#xff09;、設備監控系統&#xff08;如 PLC/SCADA&#xff09;、產品生命周期管理系統&#xff08;PLM&#x…

在 Windows 使用 Nginx/HAProxy 實現負載均衡

在本實驗中&#xff0c;我們將在 Windows 系統 上使用 Python 編寫一個 TCP 服務器&#xff0c;并啟動兩個服務實例。然后使用 Nginx 或 HAProxy 作為負載均衡器&#xff0c;將來自多個客戶端的請求分發到這兩個服務實例上&#xff0c;驗證負載均衡效果。 &#x1f9e9; 環境準…