centos7 使用docker 一鍵部署伺服器

来源:https://www.cnblogs.com/LHLVS/archive/2020/04/23/12762688.html
-Advertisement-
Play Games

docker 真香 使用docker前先檢查你的系統版本 下麵的表格就直接展示了 Docker 對主流幾款 Linux 系統版本的要求 |操作系統|支持的系統版本| | | | |CentOS |CentOS 7| |Debian |Debian Wheezy 7.7 (LTS)| |Debian ...


docker 真香

使用docker前先檢查你的系統版本
cat /etc/redhat-release
下麵的表格就直接展示了 Docker 對主流幾款 Linux 系統版本的要求

操作系統 支持的系統版本
CentOS CentOS 7
Debian Debian Wheezy 7.7 (LTS)
Debian Jessie 8 (LTS)
Debian Stretch 9
Debian Buster 10
Fedora Fedora 26
Fedora 27
Ubuntu Ubuntu Trusty 14.04 (LTS)
Ubuntu Xenial 16.04 (LTS)
Ubuntu Artful 17.10

當然,在較低版本的 Linux 系統中也能安裝 Docker,不過只能是版本較低的 Docker,其功能存在一些缺失,或者與最新版本有所區別, 所以如果條件允許,建議將系統升級到支持最新版本 Docker 的系統版本

安裝docker

下載腳本

curl -fsSL https://get.docker.com -o get-docker.sh

執行腳本

sh get-docker.sh

使用鏡像

因為不加的話docker pull 是龜速。。。
有文件夾省略這步
mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'

{ "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]}

EOF

systemctl daemon-reload

systemctl restart docker
可以使用docker -v 看看docker是否安裝成功

安裝nginx

使用docker 跑一個nginx的容器, docker容器可以做到秒級啟動,用完即刪,所以我們要做文件持久化存儲要把容器內的需要持久化的目錄和配置掛載出來
nginx 需要持久化的目錄就是我們部署前端的位置 /usr/share/nginx/html ,
nginx 配置也掛載出來方便修改 /etc/nginx/nginx.conf ,
這樣我們在容器外就可以部署前端靜態資源和修改nginx配置, 修改完重啟下容器就OK了。

隨便找個位置比如/home/nginx, 先臨時創建個容器把配置拷貝出來
docker run --name nginx --rm -d nginx
--rm 表示容器停止後就刪除該容器
-d 表示後臺運行容器
--name 給容器起名字
使用docker ps你可以看到nginx 容器 正在運行中,
把容器內的預設配置給拷貝到/home/nginx目錄下
docker cp nginx:/etc/nginx/nginx.conf /home/nginx

拷貝完停止容器
docker stop nginx
再使用docker ps -a 查看容器 你就看不到了
-a 表示查看所有容器, 不加查看正在運行的容器

現在可以正式創建nginx容器了
docker run --restart-always --name nginx -d -p 80:80 -p 443:443 -v /home/nginx/html: /usr/share/nginx/html -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf nginx
--restart-always 保證特殊情況重啟容器
-p 把容器內的埠映射到宿主機, -p [宿主機埠]:[容器內埠]
這樣我們直接在瀏覽器輸入你的伺服器ip就可以看到nginx的歡迎頁了,阿裡雲伺服器還要在安全組內開放80埠
-v 就是把容器內的目錄映射到宿主機的目錄 這樣就算容器刪除了我們的數據還在

以後部署的時候就可以把前端打包後的靜態資源放在/home/nginx/html路徑下,然後docker restart nginx就ok啦,

拓展

甚至前端每次打包後的靜態資源也可以docker build 出一個鏡像,根據版本號打上tag , push 到docker hub, 使用該鏡像run一個volumn container
配合jenkins可以實現前端全自動打包部署,只要你提交代碼到倉庫, jenkins可以幫你實現前端 測試 =》 打包 =》 部署 一整個流水線

本人也是剛學docker, 歡迎指出不足之處。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我19年一整年都沒寫過博客,說實話沒寫的欲望,現在找到了動機,因為我發現讓我願意研究的東西,很大一部分因為它有意思,沒什麼興趣的知識,除非工作需要,真的不願意碰。今天介紹的是ViewDragHelper這個工具類。它在你自定義viewGroup時,幫你解決子view拖動、定位、狀態跟蹤。這是官方的解 ...
  • iframe在部分iphone手機上變寬 如下圖: 百度查了很多也試了很多,最後的解決方式如下: 我使用的是VUE html代碼: <!-- 對於iphone中scrolling必須是no,不要擔心一定會滾動的,對於安卓手機scrolling則是auto,否則在安卓移動端不會滾動 --> <ifra ...
  • 求1/1-1/2+1/3-1/4…..1/100的和 // 聲明變數 var a = 1; var sum1 = 0; var sum2 = 0; while(a <= 100){ if(a % 2 == 0){ sum1 =sum1 - (1 / a); }else{ sum2 =sum2 + ( ...
  • 企業信息列表,查看某條記錄時,彈窗頁里要求展示企業的用戶名,而用戶名欄位不在企業表裡。 為此,我們需要修改彈窗頁的渲染方法。 methods: { enterpriseInfo (record) { this.form.resetFields(); let product; if(record.pr ...
  • 通過JavaScript來判斷某一日期是該年的第幾天 // 聲明變數 var y = 2019; var m = 4; var d = 11; var msg = 0; // switch判斷 switch(m){ case 12: msg = msg+30; case 11: msg = msg+ ...
  • Vue的兩大核心 1. 數據驅動 - 數據驅動界面顯示2. 模塊化 - 復用公共模塊,組件實現模塊化提供基礎 組件基礎 組件渲染過程 template > ast(抽象語法樹) > render > VDom(虛擬DOM) > 真實的Dom > 頁面 Vue組件需要編譯,編譯過程可能發生在 打包過程 ...
  • 開源的可視化圖表庫ECharts,功能非常強大,可以實現折線圖、柱狀圖、散點圖、餅圖、K線圖、地圖等多種圖表。本實例教程使用原生js通過canvas技術開發一個簡單仿ECharts的柱狀圖。每一行代碼都有完整的註釋,學習本教程可以對學習canvas有一定的幫助。 ...
  • 1.匹配11位手機號,開頭字母位1 ^1\d{10}$ 2.匹配姓名,中文3-6位 [\u4e00-\u9fa5]{3,6} 3.匹配密碼,必須是6-16位的字元,只能包含數字、字母、下劃線: $\w{6-16}^ 4.匹配郵箱 ^\w+@\w+(\.\w+){1,2} 5.匹配座機號 ^\d{1, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...