<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker筆記

      Docker 是什么

      Docker 是一個應用打包、分發、部署的工具
      你也可以把它理解為一個輕量的虛擬機,它只虛擬你軟件需要的運行環境,多余的一點都不要,
      而普通虛擬機則是一個完整而龐大的系統,包含各種不管你要不要的軟件。

      本文檔課件配套 視頻教程

      跟普通虛擬機的對比

      特性 普通虛擬機 Docker
      跨平臺 通常只能在桌面級系統運行,例如 Windows/Mac,無法在不帶圖形界面的服務器上運行 支持的系統非常多,各類 windows 和 Linux 都支持
      性能 性能損耗大,內存占用高,因為是把整個完整系統都虛擬出來了 性能好,只虛擬軟件所需運行環境,最大化減少沒用的配置
      自動化 需要手動安裝所有東西 一個命令就可以自動部署好所需環境
      穩定性 穩定性不高,不同系統差異大 穩定性好,不同系統都一樣部署方式

      打包、分發、部署

      打包:就是把你軟件運行所需的依賴、第三方庫、軟件打包到一起,變成一個安裝包
      分發:你可以把你打包好的“安裝包”上傳到一個鏡像倉庫,其他人可以非常方便的獲取和安裝
      部署:拿著“安裝包”就可以一個命令運行起來你的應用,自動模擬出一摸一樣的運行環境,不管是在 Windows/Mac/Linux。
      image.png

      Docker 部署的優勢

      常規應用開發部署方式:自己在 Windows 上開發、測試 --> 到 Linux 服務器配置運行環境部署。

      問題:我機器上跑都沒問題,怎么到服務器就各種問題了

      用 Docker 開發部署流程:自己在 Windows 上開發、測試 --> 打包為 Docker 鏡像(可以理解為軟件安裝包) --> 各種服務器上只需要一個命令部署好

      優點:確保了不同機器上跑都是一致的運行環境,不會出現我機器上跑正常,你機器跑就有問題的情況。

      例如 易文檔SVNBucket 的私有化部署就是用 Docker,輕松應對客戶的各種服務器。

      Docker 通常用來做什么

      • 應用分發、部署,方便傳播給他人安裝。特別是開源軟件和提供私有部署的應用
      • 快速安裝測試/學習軟件,用完就丟(類似小程序),不把時間浪費在安裝軟件上。例如 Redis / MongoDB / ElasticSearch / ELK
      • 多個版本軟件共存,不污染系統,例如 Python2、Python3,Redis4.0,Redis5.0
      • Windows 上體驗/學習各種 Linux 系統

      重要概念:鏡像、容器

      鏡像:可以理解為軟件安裝包,可以方便的進行傳播和安裝。
      容器:軟件安裝后的狀態,每個軟件運行環境都是獨立的、隔離的,稱之為容器。

      安裝

      桌面版:https://www.docker.com/products/docker-desktop
      服務器版:https://docs.docker.com/engine/install/#server

      啟動報錯解決

      報錯截圖
      image.png

      解決方法
      控制面板->程序->啟用或關閉 windows 功能,開啟 Windows 虛擬化和 Linux 子系統(WSL2)
      image.png

      命令行安裝 Linux 子系統(這步可能不需要,因為 docker 安裝時有說自動安裝 wsl)
      wsl --install -d Ubuntu

      命令行安裝可能太慢,你也可以打開微軟商店 Microsoft Store 搜索 Linux 進行安裝

      設置開機啟動 Hypervisor
      bcdedit /set hypervisorlaunchtype auto

      注意要用管理員權限打開 PowerShell

      確保 BIOS 已開啟虛擬化,下圖檢查是否已開啟好

      如果是已禁用,請在開機時按 F2 進入 BIOS 開啟一下,不會設置的可以網上搜索下自己主板的設置方法,Intel 和 AMD 的設置可能稍有不同

      image.png

      出現下圖錯誤,點擊鏈接安裝最新版本的 WSL2
      https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
      image.png

      鏡像加速源

      鏡像加速器 鏡像加速器地址
      Docker 中國官方鏡像 https://registry.docker-cn.com
      DaoCloud 鏡像站 http://f1361db2.m.daocloud.io
      Azure 中國鏡像 https://dockerhub.azk8s.cn
      科大鏡像站 https://docker.mirrors.ustc.edu.cn
      阿里云 https://<your_code>.mirror.aliyuncs.com
      七牛云 https://reg-mirror.qiniu.com
      網易云 https://hub-mirror.c.163.com
      騰訊云 https://mirror.ccs.tencentyun.com

      1.png

      掛載

      現存問題

      • 使用 Docker 運行后,我們改了項目代碼不會立刻生效,需要重新buildrun,很是麻煩。
      • 容器里面產生的數據,例如 log 文件,數據庫備份文件,容器刪除后就丟失了。

      目錄掛載解決以上問題

      本文檔課件配套 視頻教程

      幾種掛載方式

      • bind mount 直接把宿主機目錄映射到容器內,適合掛代碼目錄和配置文件。可掛到多個容器上
      • volume 由容器創建和管理,創建在宿主機,所以刪除容器不會丟失,官方推薦,更高效,Linux 文件系統,適合存儲數據庫數據。可掛到多個容器上
      • tmpfs mount 適合存儲臨時文件,存宿主機內存中。不可多容器共享。

      文檔參考:https://docs.docker.com/storage/

      image.png

      掛載演示

      bind mount` 方式用絕對路徑 `-v D:/code:/app
      volume` 方式,只需要一個名字 `-v db-data:/app
      

      示例:
      docker run -p 8080:8080 --name test-hello -v D:/code:/app -d test:v1

      多容器通信

      學習目標

      項目往往都不是獨立運行的,需要數據庫、緩存這些東西配合運作。
      這節我們把前面的 Web 項目增加一個 Redis 依賴,多跑一個 Redis 容器,演示如何多容器之間的通信。

      本文檔課件配套 視頻教程

      創建虛擬網絡

      要想多容器之間互通,從 Web 容器訪問 Redis 容器,我們只需要把他們放到同個網絡中就可以了。

      文檔參考:https://docs.docker.com/engine/reference/commandline/network/

      演示

      創建一個名為test-net的網絡:
      docker network create test-net
      
      運行 Redis 在 test-net 網絡中,別名redis
      docker run -d --name redis --network test-net --network-alias redis redis:latest
      
      修改代碼中訪問redis的地址為網絡別名

      image.png

      運行 Web 項目,使用同個網絡
      docker run -p 8080:8080 --name test -v D:/test:/app --network test-net -d test:v1
      
      查看數據

      http://localhost:8080/redis
      容器終端查看數據是否一致

      更多相關命令

      docker ps 查看當前運行中的容器
      docker images 查看鏡像列表
      docker rm container-id 刪除指定 id 的容器
      docker stop/start container-id 停止/啟動指定 id 的容器
      docker rmi image-id 刪除指定 id 的鏡像
      docker volume ls 查看 volume 列表
      docker network ls 查看網絡列表

      posted @ 2022-07-11 21:07  hyz00  閱讀(82)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本一区二区三区激情视频| 部精品久久久久久久久| 亚洲中文久久久精品无码| 久久精品人妻无码一区二区三区| 久久久无码精品亚洲日韩按摩 | 亚洲中文字幕国产综合| 亚洲日本精品国产第一区| 日韩精品一区二区三区激情视频| 国产香蕉尹人综合在线观看| 国产成人午夜在线视频极速观看 | 视频一区视频二区视频三| 夜夜添无码试看一区二区三区| 精品一区二区三区少妇蜜臀| 国产亚洲精品精品精品| 欧美视频精品免费覌看| 午夜福利伦伦电影理论片在线观看 | 国产成人精品一区二三区| 欧美激情内射喷水高潮| 99国产精品永久免费视频| 国产成人亚洲欧美二区综合| 国产精品久久久久鬼色| 九九热在线精品视频观看| 免费视频一区二区三区亚洲激情| 国内精品久久久久影院网站| 无码人妻一区二区三区AV| 88国产精品视频一区二区三区| 壶关县| 色婷婷日日躁夜夜躁| 亚洲美女厕所偷拍美女尿尿| 无码内射中文字幕岛国片| 国产精品视频一区不卡| 国产无遮挡真人免费视频| 亚洲欧美国产日韩天堂区 | 福利一区二区不卡国产| 天美麻花果冻视频大全英文版| 国产揄拍国产精品| 亚洲欧美中文字幕日韩一区二区| 国产热A欧美热A在线视频| 日本一区二区不卡精品| 亚洲综合网中文字幕在线| 亚洲永久精品日韩成人av|