如何使用Portainer創建Nginx容器并搭建web網站發布至公網可訪問【內網穿透】

文章目錄

    • 前言
    • 1. 安裝Portainer
      • 1.1 訪問Portainer Web界面
    • 2. 使用Portainer創建Nginx容器
    • 3. 將Web靜態站點實現公網訪問
    • 4. 配置Web站點公網訪問地址
      • 4.1公網訪問Web站點
    • 5. 固定Web靜態站點公網地址
    • 6. 固定公網地址訪問Web靜態站點

前言

Portainer是一個開源的Docker輕量級可視化工具,它提供了一個直觀的Web界面,讓你輕松管理和監控Docker容器、鏡像和網絡等。之前在文章《Linux Docker 圖形化工具 Portainer遠程訪問》中我們講了如何使用Docker部署一個Portainer,并結合cpolar內網穿透實現了公網訪問成功。本篇文章教大家如何在Portainer創建Nginx容器,并且部署一個靜態站點實現公網訪問。

1. 安裝Portainer

使用docker部署一個Portainer,首先拉取Portainer鏡像

docker pull portainer/portainer

然后運行容器,其中: 8098端口是我們要訪問的Portainer Web界面

docker run -d -p 8098:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

1.1 訪問Portainer Web界面

在瀏覽器中輸入http://localhost:8098 或 http://服務器IP+8098端口號,即可看到Portainer管理界面。

第一次訪問時,你需要創建一個管理員賬號。填寫所需的信息,并設置一個強密碼。然后點擊"Create user"按鈕繼續。

image-20231219105053262

image-20231219104918959

2. 使用Portainer創建Nginx容器

登錄成功后,你將看到Portainer的控制面板。

本篇文章舉例: 這里部署的Web站點是我制作的一個三維立體圖像web頁面。

在左側導航欄中,選擇 Home , 點擊 local

e5bc3e85b0d58174258de21390e3835

然后選中 Containers,再點擊右上角的 Add container

3bf03ec97fce6ebda63e1f5e6693cd0

進入新界面:

Name輸入three(可以自定義填寫)

Image輸入nginx

外網端口自定義,不能有沖突,容器端口可以重復

c64c9b65b5678e64cabf1009f17960b

點擊下方 Volumes ,填寫 container (nginx路徑/usr/share/nginx/html)和 host(部署站點文件路徑),點擊Deploy the container拉取鏡像

image-20231219113307790

image-20231219112539005

創建成功,并且打開一個新的瀏覽器輸入127.0.0.1:8089,可以看到制作完成的三維立體圖像了。

image-20231219113625285

3. 將Web靜態站點實現公網訪問

上面我們在Portainer中創建了Nginx容器,并部署了Web靜態站點,在局域網訪問成功。下面我們安裝Cpolar內網穿透工具,通過cpolar 轉發本地端口映射的http公網地址,我們可以很容易實現遠程訪問,而無需自己注冊域名購買云服務器.下面是安裝cpolar步驟

cpolar官網地址: https://www.cpolar.com

  • 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系統添加服務
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar

cpolar安裝成功后,在外部瀏覽器上訪問Linux 的9200端口 即:【http://局域網ip:9200】,使用cpolar賬號登錄(如沒有賬號,可以點擊下面免費注冊),登錄后即可看到cpolar web 配置界面,結下來在web 管理界面配置即可

image-20231219115405508

4. 配置Web站點公網訪問地址

點擊左側儀表盤的隧道管理——創建隧道,創建一個Web三維立體圖形站點的的cpolar公網地址隧道。

  • 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
  • 協議:選擇http
  • 本地地址:8089(本地訪問時的端口)
  • 域名類型:免費選擇隨機域名
  • 地區:選擇China Top

點擊創建

image-20231219115613122

隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https

image-20231219115742114

4.1公網訪問Web站點

復制cpolar生成的兩個公網地址中的任意一個,然后打開一個新的瀏覽器并粘貼地址,可以看到用cpolar生成的公網地址,成功的實現公網訪問web站點。

image-20231219120005820

為了更好地演示,我們在前述過程中使用了cpolar生成的隧道,其公網地址是隨機生成的。

這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址由隨機字符生成,不太容易記憶(例如:234b53d8.r1.cpolar.top),制作網頁發布公網分享給別人看起來不太美觀。另外,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

我一般會使用固定二級子域名,原因是我希望制作好web網頁分享給別人看時,它是一個固定、易記的公網地址(例如:three.cpolar.cn),這樣更顯正式,便于交流協作。

5. 固定Web靜態站點公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化【ps:cpolar.cn已備案】

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。

登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱

image-20231219133519658

保留成功后復制保留成功的二級子域名的名稱

image-20231219133641998

返回登錄Cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20231219133724915

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名
  • 地區:China VIP

點擊更新(注意,點擊一次更新即可,不需要重復提交)

image-20231219133923098

更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了固定的二級子域名名稱的域名

image-20231219134008633

6. 固定公網地址訪問Web靜態站點

最后,我們使用固定的公網地址可以看到訪問成功,這樣一個固定且永久不變的公網地址就設置好了,隨時隨地都可以自定義域名并且分享給其他人訪問你制作的web站點了!

image-20231219134252567

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

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

相關文章

SQL 常見命令及規范

常見命令 1. 查看當前所有數據庫 show databases; 2. 打開指定的庫 use 庫名 ; 3. 查看當前庫的所有表 show tables; 4. 查看其他庫的所有表 show tables from 庫名 ; 5. 創建表 cerate table 表名 ( 列名 列類型, 列名 列類型, ..... …

基于YOLO家族最新模型YOLOv9開發構建自己的個性化目標檢測系統從零構建模型完整訓練、推理計算超詳細教程【以自建數據酸棗病蟲害檢測為例】

在我前面的系列博文中,對于目標檢測系列的任務寫了很多超詳細的教程,目的是能夠讀完文章即可實現自己完整地去開發構建自己的目標檢測系統,感興趣的話可以自行移步閱讀: 《基于官方YOLOv4-u5【yolov5風格實現】開發構建目標檢測模型超詳細實戰教程【以自建缺陷檢測數據集為…

C# OpenVINO Crack Seg 裂縫分割 裂縫檢測

目錄 效果 模型信息 項目 代碼 數據集 下載 C# OpenVINO Crack Seg 裂縫分割 裂縫檢測 效果 模型信息 Model Properties ------------------------- date:2024-02-29T16:35:48.364242 author:Ultralytics task:segment version&…

去掉WordPress網頁圖片默認鏈接功能

既然是wordpress自動添加的,那么我們在上傳圖片到wordpress后臺多媒體的時候,就可以手動改變鏈接指向或者刪除掉,問題是每次都要這么做很麻煩,更別說有忘記的時候。一次性解決這個問題有兩種方法,一種是No Image Link插…

【生成式AI】ChatGPT原理解析(1/3)- 對ChatGPT的常見誤解

Hung-yi Lee 課件整理 文章目錄 誤解1誤解2ChatGPT真正在做的事情-文字接龍 ChatGPT是在2022年12月7日上線的。 當時試用的感覺十分震撼。 誤解1 我們想讓chatGPT講個笑話,可能會以為它是在一個笑話的集合里面隨機地找一個笑話出來。 我們做一個測試就知道不是這樣…

C# Post數據或文件到指定的服務器進行接收

目錄 應用場景 實現原理 實現代碼 PostAnyWhere類 ashx文件部署 小結 應用場景 不同的接口服務器處理不同的應用,我們會在實際應用中將A服務器的數據提交給B服務器進行數據接收并處理業務。 比如我們想要處理一個OFFICE文件,由用戶上傳到A服務器…

中國汽車電子行業發展現狀分析及投資前景預測報告

全版價格:壹捌零零 報告版本:下單后會更新至最新版本 交貨時間:1-2天 第一章 汽車電子相關概述 1.1 汽車的相關介紹 1.1.1 汽車的概念 我國國家最新標準《汽車和掛車類型的術語和定義》(GB/T3730.1—2001&…

基于springboot+vue的貿易行業crm系統

博主主頁:貓頭鷹源碼 博主簡介:Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰,歡迎高校老師\講師\同行交流合作 ?主要內容:畢業設計(Javaweb項目|小程序|Pyt…

Flink分區相關

0、要點 Flink的分區列不會存數據,也就是兩個列有一個分區列,則文件只會存另一個列的數據 1、CreateTable 根據SQL的執行流程,進入TableEnvironmentImpl.executeInternal,createTable分支 } else if (operation instanceof Crea…

Java-nio

一、NIO三大組件 NIO的三大組件分別是Channel,Buffer與Selector Java NIO系統的核心在于:通道(Channel)和緩沖區(Buffer)。通道表示打開到 IO 設備(例如:文件、套接字)的連接。若需要使用 NIO 系統,需要獲取用于連接 IO 設備的通…

Spring的簡單使用及內部實現原理

在現代的Java應用程序開發中,Spring Framework已經成為了不可或缺的工具之一。它提供了一種輕量級的、基于Java的解決方案,用于構建企業級應用程序和服務。本文將介紹Spring的簡單使用方法,并深入探討其內部實現原理。 首先,讓我們…

mysql8.0使用MGR實現高可用

一、三節點MGR集群的安裝部署 1. 安裝準備 準備好下面三臺服務器&#xff1a; IP端口角色192.168.150.213306mgr1192.168.150.223306mgr2192.168.150.233306mgr3 配置hosts解析 # cat >> /etc/hosts << EOF 192.168.150.21 mgr1 192.168.150.22 mgr2 192.168…

Windows環境下的調試器探究——硬件斷點

與軟件斷點與內存斷點不同&#xff0c;硬件斷點不依賴被調試程序&#xff0c;而是依賴于CPU中的調試寄存器。 調試寄存器有7個&#xff0c;分別為Dr0~Dr7。 用戶最多能夠設置4個硬件斷點&#xff0c;這是由于只有Dr0~Dr3用于存儲線性地址。 其中&#xff0c;Dr4和Dr5是保留的…

java中容器繼承體系

首先上圖 源碼解析 打開Collection接口源碼&#xff0c;能夠看到Collection接口是繼承了Iterable接口。 public interface Collection<E> extends Iterable<E> { /** * ...... */ } 以下是Iterable接口源碼及注釋 /** * Implementing this inte…

makefileGDB使用

一、makefile 1、make && makefile makefile帶來的好處就是——自動化編譯&#xff0c;一旦寫好&#xff0c;只需要一個make命令&#xff0c;整個工程完全自動編譯&#xff0c;極大的提高了軟件開發的效率 下面我們通過如下示例來進一步體會它們的作用&#xff1a; ①…

使用 Python 實現一個飛書/微信記賬機器人,酷B了!

Python飛書文檔機器人 今天的主題是&#xff1a;使用Python聯動飛書文檔機器人&#xff0c;實現一個專屬的記賬助手&#xff0c;這篇文章如果對你幫助極大&#xff0c;歡迎你分享給你的朋友、她、他&#xff0c;一起成長。 也歡迎大家留言&#xff0c;說說自己想看什么主題的…

代碼隨想錄第天 78.子集 90.子集II

LeetCode 78 子集 題目描述 給你一個整數數組 nums &#xff0c;數組中的元素 互不相同 。返回該數組所有可能的子集&#xff08;冪集&#xff09;。 解集 不能 包含重復的子集。你可以按 任意順序 返回解集。 示例 1&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&…

LeetCode 2581.統計可能的樹根數目:換根DP(樹形DP)

【LetMeFly】2581.統計可能的樹根數目&#xff1a;換根DP(樹形DP) 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/count-number-of-possible-root-nodes/ Alice 有一棵 n 個節點的樹&#xff0c;節點編號為 0 到 n - 1 。樹用一個長度為 n - 1 的二維整數數組 edges…

debian/ubuntu 編譯安裝nginx php

debian/ubuntu 編譯安裝nginx php tar -zxvf nginx-1.9.9.tar.gz apt-get install libpcre3 libpcre3-dev ./configure --prefix/work/nginx-1.9.9 --with-pcre make make install service iptables stop #關閉防火墻, 可能不需要 修改nginx運行用戶為tboqi 抱著log目錄可…

【通信基礎知識】完整通信系統的流程圖及各模塊功能詳解

2024.2.29 抱歉最近在寫畢設大論文&#xff0c;因此沒有太多時間更新。然而&#xff0c;在寫論文的過程中&#xff0c;發現自己對通信系統的了解還不夠全明白&#xff0c;因此差了一些碩博論文總結了一個完整的通信系統流程圖。若有不對的地方請多多指正//部分內容有參考ChatGP…