Docker Compose實戰一( 輕松部署 Nginx)

?通過過前面的文章(Docker Compose基礎語法)你已經掌握基本語法和常用指令認識到Docker Compose作為一款強大工具的重要性,它極大地簡化了多容器Docker應用程序的部署與管理流程。本文將詳細介紹如何使用 Docker Compose 部署 Nginx,為你提供一個簡單而強大的 Web 服務器解決方案。

一、前提條件

在開始之前,請確保你已經安裝了 Docker 和 Docker Compose。如果還沒有安裝,你可以訪問 Docker 的官方網站下載并安裝適用于你操作系統的版本,這里就不多闡述。

二、創建項目目錄

首先,我們需要創建一個項目目錄來存放相關的配置文件和代碼。你可以使用以下命令來創建目錄并進入其中:

mkdir -p /zzj/mydockercompose/nginxtry
cd /zzj/mydockercompose/nginxtry

三、編寫 Docker Compose 文件

在項目目錄中,我們需要創建一個名為 `docker-compose.yml` 的文件。這個文件將定義我們的服務、網絡、卷等配置。以下是一個基本的 `docker-compose.yml` 文件示例:

version: "1.29.2"
services:nginx:image: nginxcontainer_name: nginxwebvolumes:- /zzj/mydockercompose/nginxtry:/usr/share/nginx/htmlports:- "2024:80"

version: "1.29.2" # 指定 Docker Compose 文件的格式版本。

services: nginx: # 定義了一個名為 nginx 的服務

image: nginx # 使用官方的 nginx 鏡像

container_name: nginxweb # 指定容器的名稱為 nginxweb

volumes: # 定義了一個或多個卷,用于將數據從主機復制到容器或從容器復制到主機

- /zzj/mydockercompose/nginxtry:/usr/share/nginx/html # 將主機的 /zzj/mydockercompose/nginxtry 目錄掛載到容器的 /usr/share/nginx/html 目錄。這樣,Nginx 就可以從這個目錄中提供靜態文件了。

ports: # 定義了一個或多個端口映射,用于將容器內的端口暴露給主機 - "2024:80" # 將容器的 80 端口映射到主機的 2024 端口。這意味著您可以通過訪問主機的 2024 端口來訪問 Nginx 服務。

四、添加網站首頁 index.html

在下項目目錄下添加一個 `index.html` 文件作為默認的 Web 頁面。你可以使用以下命令來創建index.html文件:

vim index.html

以下是一個index.html?文件示例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><link rel="stylesheet" href="index.css" /></head><body><!-- 網頁上部分 --><div id="header"><div id="header-font">全國統一電話:<span>4008-770-550</span></div><div class="clear"></div></div><!-- 網頁中間部分 --><div id="content"><div id="content-nav"><ul><li><a href="http://www.baidu.com">關于我們</a></li><li><a href="#">新聞動態</a></li><li><a href="#">產品中心</a></li><li><a href="#">成功案例</a></li><li><a href="#">服務項目</a></li><li><a href="#">在線留言</a></li><li class="noline"><a href="#">聯系我們</a></li></ul></div><div id="content-body"><p>最新產品</p><div class="tpstyle"><p>以舊換新雙旦特大驚喜</p></div><div class="tpstyle"><p>以舊換新雙旦特大驚喜</p></div><div class="tpstyle"><p>以舊換新雙旦特大驚喜</p></div><div class="clear"/></div>         <div id="content-menu"><ul><li id='redli'>友情鏈接:</li><li>中國農業銀行&nbsp;&nbsp;|</li><li>招商銀行&nbsp;&nbsp;|</li><li>中國建設銀行&nbsp;&nbsp;|</li><li>中國郵政&nbsp;&nbsp;|</li><li>交通銀行&nbsp;&nbsp;|</li><li>深圳發展銀行&nbsp;&nbsp;|</li><li>中國工商銀行&nbsp;&nbsp;|</li><li>廣東發展銀行&nbsp;&nbsp;|</li><li>銀聯&nbsp;|</li><li>中國銀行&nbsp;|</li></ul></div></div>    <!-- 網頁下部分 --><div id="footer"><p>地址:北京市經濟技術開發區榮京東街3號榮京麗都B座 電話:4008-770-550</p><p>Copyright ? 2015 北京云邦網絡科技有限公司 版權所有 京ICP備 15011040號 技術支持:云邦建站</p></div></body></html>

添加完成后,docker-compose.yml文件與index.html文件應該都在項目目錄下:

五、運行 Docker Compose

現在,我們已經準備好了所有的配置文件和代碼。接下來,我們可以使用 Docker Compose 來啟動 Nginx 容器。在項目目錄中運行以下命令:

docker compose up -d

這個命令將在后臺啟動并運行 Nginx 容器。

你可以使用 `docker-compose ps` 命令來查看容器的運行狀態。

六、驗證部署

最后,我們需要驗證 Nginx 是否已經成功部署并正在運行。打開你的瀏覽器,訪問 `IP:端口號`,你應該會看到 如下頁面:

七、停止和刪除容器

當你不再需要 Nginx 容器時,你可以使用以下命令來停止并刪除它:

docker-compose stop
docker-compose down -v

?

八、總結

通過本文的介紹,你已經學會了如何使用 Docker Compose 部署 Nginx。這種方法不僅簡單易懂,而且非常靈活和強大。你可以根據自己的需求對 Nginx 進行配置和擴展,以滿足各種應用場景的需求。

希望這篇博客對你有所幫助!如果你有任何問題或建議,請隨時在評論區留言。

?

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

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

相關文章

【免費】如何考取HarmonyOS應用開發者基礎認證和高級認證(詳細教程)

HarmonyOS應用開發者認證考試PC網址 基礎&#xff1a;華為開發者學堂 高級&#xff1a;華為開發者學堂 注&#xff1a;免費認證&#xff0c;其中基礎認證有免費的課程&#xff0c;瀏覽器用Edge。 (新題庫有點懶&#xff0c;不更新了&#xff0c;點贊收藏后找我要新題庫 2024…

解決ThreadLocal在項目中的線程數據共享問題

目錄 ThreadLocal 簡介 問題描述 為什么會有這個問題 解決方案 1. 使用請求作用域存儲 2. 使用 HTTP Session 存儲 3. 使用 Spring Security 4. 確保 ThreadLocal 的正確使用 5.通常解決方法 結論 在多線程環境中&#xff0c;ThreadLocal 是一種非常有用的工具&#…

瑞芯微開發板 燒寫固件問題

自用rk3568-firefly-itx-3568q核心板fpga自研底板&#xff0c;因底板所需外設、功能與原廠有較大差異&#xff0c;故裁剪相應sdk&#xff0c;編譯新的內核進行燒寫。然而在更改設備樹過程中kernel/drivers/media/i2c/fpga.c中的像素格式MEDIA_BUS_FMT_YUYV8_2X8誤改成MEDIA_BUS…

photoblog解題過程

本題要求&#xff1a;通過sql注入&#xff0c;找到數據庫中的賬號密碼&#xff0c;并成功登錄。登錄后利用文件上傳&#xff0c;將一句話木馬上傳到數據庫中&#xff0c;然后并對網站進行控制。 解題過程 1、通過在靶機中輸入ifconfig&#xff0c;查到ip為192.168.80.153&…

QT獲取tableview選中的行和列的值

查詢數據庫數據放入tableview&#xff08;tableView_database&#xff09;后 QSqlQueryModel* sql_model new QSqlQueryModel(this);sql_model->setQuery("select * from dxxxb_move_lot_tab");sql_model->setHeaderData(0, Qt::Horizontal, tr("id&quo…

「Mac玩轉倉頡內測版46」小學奧數篇9 - 基礎概率計算

本篇將通過 Python 和 Cangjie 雙語實現基礎概率的計算&#xff0c;幫助學生學習如何解決簡單的概率問題&#xff0c;并培養邏輯推理和編程思維。 關鍵詞 小學奧數Python Cangjie概率計算 一、題目描述 假設有一個袋子中有 5 個紅球和 3 個藍球&#xff0c;每次從袋子中隨機…

Face2QR:可根據人臉圖像生成二維碼,還可以掃描,以后個人名片就這樣用了!

今天給大家介紹的是一種專為生成個性化二維碼而設計的新方法Face2QR&#xff0c;可以將美觀、人臉識別和可掃描性完美地融合在一起。 下圖展示為Face2QR 生成的面部圖像&#xff08;第一行&#xff09;和二維碼圖像&#xff08;第二行&#xff09;。生成的二維碼不僅忠實地保留…

電子商務人工智能指南 1/6 - 搜索、廣告和發現

介紹 81% 的零售業高管表示&#xff0c; AI 至少在其組織中發揮了中等至完全的作用。然而&#xff0c;78% 的受訪零售業高管表示&#xff0c;很難跟上不斷發展的 AI 格局。 近年來&#xff0c;電子商務團隊加快了適應新客戶偏好和創造卓越數字購物體驗的需求。采用 AI 不再是一…

Python快速入門二:Python3 基礎語法

一、編碼 默認情況下&#xff0c;Python 3 源碼文件以 UTF-8 編碼&#xff0c;所有字符串都是 unicode 字符串。 當然你也可以為源碼文件指定不同的編碼&#xff1a; # -*- coding: cp-1252 -*-上述定義允許在源文件中使用 Windows-1252 字符集中的字符編碼&#xff0c;對應適…

nextcloud云盤的部署

借鑒鏈接&#xff1a;https://blog.csdn.net/guigenyi/article/details/126692747 創建自定義 Docker 網絡 docker network create nextcloud-network 創建mysql的賬號密碼都是root 并將其連接到自定義網絡 docker run --name mysql-container --network nextcloud-network -e…

圖(dfs與bfs)算法1

開辟新專題&#xff01;不擅長的圖它來了來了&#xff01;&#xff08;莫名激動 進度&#xff1a;10/100 另&#xff1a;沒想到給自己挖了個坑&#xff0c;可以用dfs的基本上也可以用bfs&#xff0c;看來要雙線并行了。 補&#xff1a;圖算法是我近期得有30%的焦慮來源了&am…

Ruby On Rails 筆記3——表的增刪改查

1.Migration Migrations是一種便利的方法,能以重現的方式隨時間推移改變數據庫schema. 使用Ruby Domain Specific Language (DSL),因此你不用手寫SQL,進而使你的schema和changes與數據庫獨立。 可以把每次migration看作是數據庫的一個新“版本”。A schema開始時什么都沒有…

一、測試工具LoadRunner Professional腳本編寫-錄制前設置

設置基于URL的腳本 原因:基于HTML的腳本會導致login接口不能正確錄制 設置UTF-8 原因:不勾選此項會導致腳本中文變為亂碼

14、鴻蒙學習——管理通知角標

針對未讀的通知&#xff0c;系統提供了角標設置接口&#xff0c;將未讀通知個數顯示在桌面圖標的右上角角標上。 通知增加時&#xff0c;角標上顯示的未讀通知個數需要增加。 通知被查看后&#xff0c;角標上顯示的未讀通知個數需要減少&#xff0c;沒有未讀通知時&#xff0…

Thonny IDE + MicroPython + ESP32 + GY-302 測量環境中的光照強度

GY-302是一款基于BH1750FVI光照強度傳感器芯片的模塊。該模塊能夠直接測量出環境中的光照強度&#xff0c;并將光照強度轉換為數字信號輸出。其具體參數如下表所示。 參數名稱 參數特性 測量范圍 0-65535 LX 測量精度 在環境光下誤差小于20%&#xff0c;能夠自動忽略50/60…

AJAX和XHR、fetch、axios的關系

AJAX中有兩套原生的API&#xff0c;一個是XHR(XMLHttpRequest)&#xff0c;一個是Fetch API axios是第三方庫&#xff0c;在瀏覽器環境中使用的是XHR umi-request也是第三方庫&#xff0c;在瀏覽器環境中使用的是Fetch 在 AJAX&#xff08;Asynchronous JavaScript and XML&am…

openlayers地圖緩存添加

//通過安裝包localforage&#xff08;npm install localforage&#xff09;或https://cdnjs.cloudflare.com/ajax/libs/localforage/1.10.0/localforage.min.js tileCacheStore.js import localforage from localforage var tileCacheStorenull;// 從緩存中獲取該瓦片 functio…

云軸科技ZStack出席中國電信國際EMCP平臺香港發布會,持續推動海外合作

近日&#xff0c;以“云聚未來 翼起新篇”為主題的中國電信國際多云服務一站式平臺&#xff08;E-surfing Managed Cloud Platform&#xff0c;簡稱EMCP平臺&#xff09;新聞發布會在香港成功舉辦&#xff0c;標志著中國電信國際在云計算服務領域取得了又一重大進展。云軸科技…

面試復盤 part 02·1202-1207 日

作品集講述部分 分析反思 作品集講述部分&#xff0c;視覺講述部分需要更換&#xff0c;需要換成其他視覺相關的修改 具體話術 這是一個信息展示優化方案&#xff0c;用戶為財務&#xff0c;信息區分度不足&#xff0c;理解成本較高&#xff0c;因此選擇需要降低理解成本。…

2024.11.29——[HCTF 2018]WarmUp 1

拿到題&#xff0c;發現是一張圖&#xff0c;查看源代碼發現了被注釋掉的提示 <!-- source.php--> step 1 在url傳參看看這個文件&#xff0c;發現了這道題的源碼 step 2 開始審計代碼&#xff0c;分析關鍵函數 //mb_strpos($haystack,$needle,$offset,$encoding):int|…