最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker構(gòu)建簡單的個人主頁網(wǎng)站實戰(zhàn)教程

 更新時間:2024年10月05日 11:42:05   作者:zsuroy  
Docker是一種開源容器化技術(shù),可以打包、發(fā)布和運行應用程序,本教程介紹了如何使用Docker構(gòu)建一個簡單的個人主頁網(wǎng)站,通過編寫Dockerfile來自定義鏡像,并展示了如何通過傳入環(huán)境變量來動態(tài)更改網(wǎng)頁內(nèi)容,項目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript

Docker 基礎(chǔ)知識

什么是 Docker:Docker 是一個開源的平臺,用于開發(fā)、發(fā)布和運行應用程序。它可以將應用程序及其所有依賴項打包成一個標準化的單元(容器),確保應用程序在任何環(huán)境中都能一致運行。

基本概念

  • 鏡像(Image):一個包含了應用程序及其運行時環(huán)境的只讀模板,可以用來創(chuàng)建容器。
  • 容器(Container):鏡像的一個實例,運行中的應用程序。
  • Dockerfile:定義如何創(chuàng)建鏡像的文本文件。

Docker 的優(yōu)勢

  • 一致性:應用程序在任何環(huán)境下運行一致。
  • 隔離性:不同的應用程序和服務可以獨立運行在各自的容器中。
  • 可移植性:容器可以在開發(fā)、測試和生產(chǎn)環(huán)境中無縫遷移。

搭建靜態(tài)網(wǎng)頁的 Docker 環(huán)境

準備一個簡單的靜態(tài)網(wǎng)頁
創(chuàng)建一個基本的 HTML 文件,名為 index.html,內(nèi)容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dynamic Web Page</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
    <p id="content">Default Content</p>
</body>
</html>

編寫 Dockerfile 創(chuàng)建自定義 Docker 鏡像

# 使用 nginx 官方基礎(chǔ)鏡像
FROM nginx:alpine

# 將本地的 index.html 復制到鏡像中的 nginx html 目錄下
COPY index.html /usr/share/nginx/html

# 運行 nginx 服務
CMD ["nginx", "-g", "daemon off;"]

通過 Docker 啟動附帶參數(shù)改變網(wǎng)頁內(nèi)容

使用環(huán)境變量改變網(wǎng)頁內(nèi)容

我們需要一個方法讓網(wǎng)頁根據(jù)傳入的參數(shù)改變內(nèi)容,可以使用簡單的環(huán)境變量和 JavaScript 來實現(xiàn)。

修改 index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dynamic Web Page</title>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var content = "{{ content }}";
            document.getElementById("content").innerText = content;
        });
    </script>
</head>
<body>
    <h1>Welcome to My Website</h1>
    <p id="content">Default Content</p>
</body>
</html>

然后我們可以使用一個簡單的 shell 腳本在啟動容器前替換 {{ content }} 占位符:

#!/bin/sh
sed -i "s/{{ content }}/${CONTENT}/g" /usr/share/nginx/html/index.html
nginx -g 'daemon off;'

更新 Dockerfile:

# 使用 nginx 官方基礎(chǔ)鏡像
FROM nginx:alpine

# 將本地的 index.html 復制到鏡像中的 nginx html 目錄下
COPY index.html /usr/share/nginx/html
COPY entrypoint.sh /entrypoint.sh

# 給予 entrypoint.sh 可執(zhí)行權(quán)限
RUN chmod +x /entrypoint.sh

# 運行 entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

實際操作

創(chuàng)建并運行 Docker 容器
在包含 index.htmlDockerfile 的目錄中運行以下命令創(chuàng)建鏡像:

docker build -t my-dynamic-webpage .

運行容器時傳入環(huán)境變量改變內(nèi)容:

訪問 http://localhost:8080 查看效果。

測試不同參數(shù)的效果
再試幾個不同的參數(shù)值,觀察網(wǎng)頁內(nèi)容的變化。

項目體驗

  • Docker Hub: zsuroy/docker-for-learner
  • Github: 基于Docker構(gòu)建簡單的WEB個人主頁
  • 技術(shù)棧: Docker + Alpine + Nginx + HTML + CSS + Javascript

本項目旨在展示如何使用 Docker 構(gòu)建一個簡單且美觀的個人主頁網(wǎng)站。該網(wǎng)站通過 Docker 容器化技術(shù)實現(xiàn),可以動態(tài)地顯示內(nèi)容,并且支持在運行容器時傳入?yún)?shù)來改變網(wǎng)頁的顯示內(nèi)容。網(wǎng)站包括個人頭像、簡介和以座右銘形式展示的動態(tài)內(nèi)容。

使用說明

# 1.1 拉取鏡像
docker pull zsuroy/docker-for-learner:latest

## 1.2 國內(nèi)加速 | 若上一步失敗可以嘗試此命令
docker --debug pull m.daocloud.io/docker.io/zsuroy/docker-for-learner

## 1.3 若以上均失敗則建議使用離線鏡像 | 需要提前下載鏡像
docker load -i docker-for-learner.tar

# 2. 運行
docker run -e CONTENT="Hello, Welcome to my personal homepage! <br> <br> Every cloud has a silver lining." -e ABOUT="I am Suroy." -p 8080:80 docker-for-learner

# 3. 瀏覽器訪問
http://127.0.0.1:8080

運行命令解釋

通過環(huán)境變量 ABOUT 指定關(guān)于信息,CONTENT 確定座右銘區(qū)域內(nèi)容,在 docker 啟動時會先執(zhí)行 sed 命令替換相關(guān)內(nèi)容,啟動后通過 javascript 動態(tài)的加載到網(wǎng)頁中顯示。

總結(jié)

到此這篇關(guān)于Docker構(gòu)建簡單的個人主頁網(wǎng)站實戰(zhàn)教程的文章就介紹到這了,更多相關(guān)Docker構(gòu)建簡單網(wǎng)站內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker-修改容器掛載目錄的3種方法小結(jié)

    docker-修改容器掛載目錄的3種方法小結(jié)

    這篇文章主要介紹了docker-修改容器掛載目錄的3種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法

    docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法

    本文主要介紹了docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras

    Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras

    今天小編就為大家分享一篇關(guān)于Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Docker報錯denied:requested access to the resource is denied解決

    Docker報錯denied:requested access to the r

    這篇文章主要為大家介紹了Docker報錯denied:requested access to the resource is denied解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 云原生之docker命令詳解

    云原生之docker命令詳解

    Docker是一個開源的應用容器引擎,基于Go語言并遵從Apache2.0協(xié)議開源,Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化,本文就給大家介紹了云原生中的docker命令
    2023-06-06
  • Flask應用封裝成Docker服務的完整操作指南

    Flask應用封裝成Docker服務的完整操作指南

    本文詳細介紹了如何使用Docker將Flask應用容器化,包括實現(xiàn)原理、詳細操作步驟、進階配置、常見問題及解決方案和生產(chǎn)環(huán)境注意事項,需要的朋友可以參考下
    2025-04-04
  • Docker+Nginx打包部署前后端分離步驟實現(xiàn)

    Docker+Nginx打包部署前后端分離步驟實現(xiàn)

    這篇文章主要介紹了Docker+Nginx打包部署前后端分離步驟實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-01-01
  • 解決Docker必須使用sudo操作的問題

    解決Docker必須使用sudo操作的問題

    這篇文章主要介紹了解決Docker必須使用sudo操作的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • dockerfile echo指定文件多行文本的方法實現(xiàn)

    dockerfile echo指定文件多行文本的方法實現(xiàn)

    這篇文章主要介紹了dockerfile echo指定文件多行文本的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Docker版Percona Xtrabackup全量壓縮腳本方式

    Docker版Percona Xtrabackup全量壓縮腳本方式

    本文介紹了如何在Linux環(huán)境下使用Percona XtraBackup進行MySQL數(shù)據(jù)庫的每天定時備份,并通過腳本實現(xiàn)備份數(shù)據(jù)的壓縮、日志管理以及定時任務的設(shè)置
    2026-02-02

最新評論

凭祥市| 上饶市| 龙游县| 雷州市| 长寿区| 澳门| 和龙市| 黎城县| 扎囊县| 永济市| 诏安县| 安远县| 临颍县| 新泰市| 海阳市| 湛江市| 同仁县| 庄河市| 武清区| 红桥区| 永平县| 越西县| 筠连县| 宁海县| 马公市| 鄂温| 渝中区| 东乡县| 盐池县| 酒泉市| 盐津县| 六盘水市| 重庆市| 门头沟区| 桐柏县| 芒康县| 扎赉特旗| 仁寿县| 台北县| 信丰县| 美姑县|