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

docker概念、安裝與基本使用

 更新時間:2025年09月24日 09:21:03   作者:Code Rhythm  
Docker是容器化平臺,解決軟件部署環(huán)境不一致、資源浪費等問題,通過輕量級容器實現(xiàn)快速部署與彈性擴展,對比虛擬機,其資源占用更低、啟動更快,支持微服務架構與云原生技術,兼容多種操作系統(tǒng),安裝步驟在不同Linux系統(tǒng)中略有差異

一、概念

1.1 docker是什么?

就是一個軟件,跑容器的軟件 -> 容器化軟件

有什么作用,解決了什么問題?

  • 將任何軟件都可以放到容器里去運行
  • 更加節(jié)約企業(yè)的服務器資源,降低基礎設施成本
  • 軟件的快速部署和縮放 --》改變了軟件部署和安裝的方式

1.2 什么是容器?

類似軟件的集裝箱
官方網(wǎng)站:https://www.docker.com/resources/what-container/

使用容器的好處:
1.成本低廉
2.管理方便

顆粒度更加小的虛擬化技術–》容器技術–》可以控制資源

很多企業(yè)里的物理機的資源使用率比較低,一個業(yè)務一群機器,導致大量的資源浪費,成本過高

docker技術可以控制資源的使用率,可以讓物理機很飽和的運行 --》減少機器的數(shù)量,同時業(yè)務也能正常的運行
使用docker可以降低基礎設施成本

1.3 docker與虛擬機的區(qū)別

特性容器化(Docker)虛擬機(Hypervisor)
隔離層級進程級隔離(共享宿主 OS 內(nèi)核)硬件級隔離(每個 VM 有獨立 OS 內(nèi)核)
隔離策略HypervisorCGroups
資源占用極輕量(MB 級,僅需應用自身資源)重量級(GB 級,需承載完整 OS 資源)
啟動速度秒級(直接啟動應用進程)分鐘級(需啟動完整 OS)
多應用支持同一宿主 OS 下可運行多個不同應用容器每個 VM 通常運行一個主要應用(因 OS 資源占用高)
兼容性依賴宿主 OS 內(nèi)核(如 Linux 容器難跑 Windows 應用)支持任意 OS(只要 Hypervisor 兼容)
鏡像存儲KB-MBGB-TB
集群規(guī)模上萬上百
高可用策略彈性、負載、動態(tài)備份、容災、遷移

1.4 容器,鏡像,倉庫

  • 鏡像: image 是軟件單元,本質(zhì)上是一個文件,文件里面有應用程序代碼(nginx、mysql等)、微型操作系統(tǒng)、依賴軟件 --》需要運行軟件
  • 倉庫: repository 存放鏡像的地方, hub.docker.com
    hub.docker.com 是docker官方提供的鏡像的集市。 全球最大的鏡像集散地
  • 鏡像倉庫: 國內(nèi)的站點 --》網(wǎng)站,提供鏡像下載功能
  • 容器: container 運行的鏡像,本質(zhì)上是一個進程,提供服務

1.5 微服務、云計算

微小的服務:盡量的將某個功能或者服務獨立出來,跑在單獨的容器里,且可獨立開發(fā)、測試、部署和擴展

微服務的核心特征

  • 單一職責:每個服務只負責一個業(yè)務模塊
  • 獨立部署:修改一個服務時,無需重新部署整個應用
  • 技術多樣性:不同服務可選擇適合自身的技術棧
  • 彈性擴展:可針對高負載服務單獨擴容

微服務架構雖然解決了單體應用的耦合問題,但也帶來了部署復雜、環(huán)境不一致、資源管理難等挑戰(zhàn) —— 而 Docker 恰好能針對性解決這些問題

微服務面臨的挑戰(zhàn)Docker 的解決方案核心價值
環(huán)境不一致(“開發(fā)能跑,生產(chǎn)報錯”)容器打包應用 + 依賴,確保所有環(huán)境鏡像一致消除 “環(huán)境差異”,降低部署故障
服務部署復雜(需手動配置依賴、端口)通過 Dockerfile 自動化構建鏡像,Compose 一鍵部署多服務標準化部署流程,提升效率
資源隔離差(多服務共享主機資源,易沖突)容器間資源隔離(CPU、內(nèi)存、網(wǎng)絡),互不干擾避免 “服務搶占資源”,提升系統(tǒng)穩(wěn)定性
服務擴容慢(需手動搭建新主機環(huán)境)容器輕量(啟動秒級),可快速復制鏡像啟動新容器支持 “秒級擴容”,應對流量峰值
版本管理難(多服務版本迭代,回滾復雜)鏡像版本化,回滾時只需切換鏡像版本簡化版本管理,降低回滾風險

云計算(Cloud Computing)

物理機–》虛擬化–》云計算–》云服務–》容器–》云原生
云原生: 就是與容器、k8s、Prometheus、etcd相關的技術

云計算是一種基于互聯(lián)網(wǎng)的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機各種終端和其他設備

云計算利用強大的分布式計算和存儲能力,將數(shù)據(jù)和應用程序從本地計算機或服務器轉(zhuǎn)移到云中,使得用戶可以隨時隨地獲取所需的信息和服務

  • 公有云: 阿里云、騰訊云、華為云、AWS(亞馬遜)、google云、微軟云azure、電信云
  • 買服務器
  • 私有云/專有云: 自己使用不與其他人分享的云平臺 --》購買阿里云/騰訊云、華為云的云平臺軟件,自己的服務器
  • 國家電網(wǎng)、財通證券
  • 政府、國企
  • 混合云: 公有云、私有云
  • 12306 購買火車票
服務模式英文全稱核心定義用戶視角典型場景
IaaSInfrastructure as a Service(基礎設施即服務)提供最底層的 IT 基礎設施:虛擬服務器(ECS)、存儲(OSS)、網(wǎng)絡(VPC)等,用戶需自行部署操作系統(tǒng)、數(shù)據(jù)庫、應用程序租用一臺虛擬電腦,自己裝系統(tǒng)和軟件企業(yè)搭建自有服務器集群、開發(fā)測試環(huán)境
PaaSPlatform as a Service(平臺即服務)提供 “應用開發(fā) / 運行平臺”:包含操作系統(tǒng)、數(shù)據(jù)庫、中間件(如 Tomcat)、開發(fā)工具等,用戶只需上傳應用代碼即可運行租用一個已裝好環(huán)境的開發(fā)平臺,直接寫代碼快速開發(fā) Web 應用、移動 APP 后端、大數(shù)據(jù)分析(如使用 Hadoop 平臺)
SaaSSoftware as a Service(軟件即服務)提供 “開箱即用的軟件應用”:用戶無需安裝,直接通過瀏覽器或客戶端使用(如在線 Office、CRM 系統(tǒng)),所有維護由服務商負責直接用在線軟件,不用管背后的技術企業(yè)辦公(釘釘、企業(yè)微信)、在線協(xié)作(飛書文檔)、客戶管理(Salesforce)
Serverless1.FaaS(Function as a Service,函數(shù)即服務)
2.BaaS(Backend as a Service,后端即服務)
開發(fā)者無需管理服務器,只需編寫業(yè)務邏輯代碼,按實際執(zhí)行消耗付費直接使用別人的容器平臺,云廠商按照使用時長和算力來收費,企業(yè)不需要購買服務器了適合流量波動大、執(zhí)行時間短、事件驅(qū)動型的業(yè)務場景

函數(shù)計算(Function Compute)是一個事件驅(qū)動的全托管 Serverless 計算服務,您無需管理服務器等基礎設施,只需編寫代碼并上傳,函數(shù)計算會為您準備好計算資源,并以彈性、可靠的方式運行您的代碼

二、Rocky (使用 dnf 或 yum 安裝)

參考Centos的官方文檔:https://docs.docker.com/engine/install/centos/

第1步:卸載以前安裝過的docker相關的軟件

[root@localhost ~]#sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

第2步: 配置安裝docker的源,默認使用官方的源,在安裝的時候出錯,下載不下來軟件,建議使用阿里云的源

# 兩條命令等同,yum 是 dnf 的軟鏈接,執(zhí)行 yum install yum-utils 本質(zhì)也是安裝 dnf 兼容的擴展工具
[root@localhost ~]# sudo yum install -y yum-utils
[root@localhost ~]# sudo dnf -y install dnf-plugins-core
[root@localhost ~]# sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@localhost ~]# sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第3步: 安裝docker

  • docker-ce 是docker引擎,提供docker服務的
  • docker-ce-cli 提供docker客戶端命令的
  • containerd.io 是提供容器運行時管理的
  • docker-buildx-plugin 是docker的一個插件,用來構建鏡像
  • docker-compose-plugin docker的單機里的容器編排工具,可以同時啟動很多容器
[root@localhost ~]# sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin  -y

第4步: 啟動docker

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

第5步:查看dockerd進程,確認docker服務已經(jīng)啟動了

[root@localhost yum.repos.d]# ps aux|grep docker
root       17423  0.3  2.1 1908364 80208 ?       Ssl  11:42   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root       17661  0.0  0.0   6408  2176 pts/0    S+   11:42   0:00 grep --color=auto docker
# 查看版本
[root@docker ~]# docker --version
Docker version 28.4.0, build d8eb465

三、docker 基本使用

3.1 配置國內(nèi)源

在使用 Docker 時,默認是訪問docker官方提供的鏡像下載的網(wǎng)站,配置合適的鏡像源可以顯著提升鏡像拉取速度,尤其是在國內(nèi)網(wǎng)絡環(huán)境下

[root@localhost ~]# mkdir  -p /etc/docker/
# 添加2個國內(nèi)的源
[root@localhost docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": ["https://docker.xuanyuan.me","https://docker.1panel.live"]
}
EOF
{
    "registry-mirrors": ["https://docker.xuanyuan.me","https://docker.1panel.live"]
}
[root@localhost docker]# sudo systemctl daemon-reload
[root@localhost docker]# sudo systemctl restart docker

3.2 下載nginx鏡像

docker pull
不接版本號,默認下載最新的

[root@localhost docker]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
b1badc6e5066: Pull complete 
a2da0c0f2353: Pull complete 
e5d9bb0b85cc: Pull complete 
14a859b5ba24: Pull complete 
716cdf61af59: Pull complete 
14e422fd20a0: Pull complete 
c3741b707ce6: Pull complete 
Digest: sha256:33e0bbc7ca9ecf108140af6288c7c9d1ecc77548cbfd3952fd8466a75edefe57
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

3.3 查看本機已經(jīng)下載的鏡像

docker images

[root@localhost docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    ad5708199ec7   3 weeks ago   192MB

3.4 啟動一個nginx的容器

–》啟動nginx程序
docker run

  • --name sc-nginx-1:指定容器名稱為 sc-nginx-1(方便后續(xù)管理)
  • -p 8080:80:端口映射,將宿主機的 8080 端口映射到容器內(nèi)的 80 端口
  • -d:后臺運行容器( detached 模式)
  • nginx:使用的鏡像名稱(默認拉取 latest 標簽版本)
[root@localhost docker]# docker run --name sc-nginx-1  -p 8080:80  -d  nginx
12af7441bf2e0fdefb41445aca7f4ec4a6284acfb24c89f70672689002895dff

3.5 查看啟動的容器

docker ps

[root@localhost docker]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                     NAMES
12af7441bf2e   nginx     "/docker-entrypoint.…"   29 seconds ago   Up 29 seconds   0.0.0.0:8080->80/tcp, [::]:8080->80/tcp   sc-nginx-1

瀏覽器訪問宿主機的8080端口可正常顯示nginx的首頁

3.6 鏡像導入/導出

導出

[root@localhost images]# docker save -o nginx.tar nginx

導入

[root@localhost images]# docker load -i nginx.tar nginx

3.7 刪除鏡像

[root@localhost docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest ad5708199ec7 3 weeks ago 192MB
[root@localhost ~]# docker rmi nginx

二、Ubuntu(使用 apt-get 進行安裝)

官方文檔:https://docs.docker.com/engine/install/ubuntu/
https://developer.aliyun.com/mirror/docker-ce
root@huang:~# cat /etc/issue
Ubuntu 24.04.2 LTS \n \l

之前裝了的版本要移除

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

step 1: 安裝必要的一些系統(tǒng)工具

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

step 2: 信任 Docker 的 GPG 公鑰

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

step 3: 寫入軟件源信息

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

step 4: 安裝Docker

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

三、CentOS (使用 yum 進行安裝)

step 1: 安裝必要的一些系統(tǒng)工具
sudo yum install -y yum-utils

step 2: 添加軟件源信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

step 3: 安裝Docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

step 4: 開啟Docker服務

sudo service docker start

到此這篇關于docker概念、安裝與基本使用的文章就介紹到這了,更多相關docker安裝和使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 一文詳解docker容器中的memory限制

    一文詳解docker容器中的memory限制

    在Docker中,內(nèi)存管理是非常重要的一部分,Docker提供了一些功能來管理容器的內(nèi)存使用情況,其中包括內(nèi)存限制、內(nèi)存交換和內(nèi)存統(tǒng)計等,本文給大家詳細介紹了docker容器中的memory限制,需要的朋友可以參考下
    2024-04-04
  • docker安裝redmine步驟

    docker安裝redmine步驟

    在本篇文章里小編給大家整理的是關于docker安裝redmine步驟和相關代碼,需要的朋友們學習下。
    2020-01-01
  • Windows 安裝 Docker核心思路

    Windows 安裝 Docker核心思路

    Docker是一個讓應用在隔離環(huán)境中運行的工具,本質(zhì)上是在已運行的Linux系統(tǒng)中創(chuàng)建一個隔離的文件環(huán)境,本文介紹了在Windows上安裝Docker的方法,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • Windows?Server?2012?R2?安裝?Docker的詳細步驟

    Windows?Server?2012?R2?安裝?Docker的詳細步驟

    這篇文章主要介紹了Windows?Server?2012?R2?安裝?Docker,在這個給大家說明下使用windows10、Windows?Server?2016以上系統(tǒng)可直接使用安裝包,低版本系統(tǒng)需要使用?Docker?Toolbox?來進行安裝使用?Docker,需要的朋友可以參考下
    2022-04-04
  • docker 搭建單機PostgreSQL操作詳解

    docker 搭建單機PostgreSQL操作詳解

    本文通過實際案例操作演示了如何基于Docker搭建pg的完整過程,并補充了pg數(shù)據(jù)庫操作的常用命令和授權命令,感興趣的朋友一起看看吧
    2025-04-04
  • 使用Docker Compose一鍵部署OnlyOffice的完整指南與配置解析

    使用Docker Compose一鍵部署OnlyOffice的完整指南與配置解析

    OnlyOffice作為一款強大的開源辦公套件,不僅提供與Microsoft Office高度兼容的在線編輯體驗,還支持實時協(xié)作編輯,成為許多企業(yè)和團隊的首選解決方案,下面就將詳細介紹如何使用Docker Compose快速部署功能完整的OnlyOffice服務棧
    2026-01-01
  • Docker上部署FastApi的示例代碼

    Docker上部署FastApi的示例代碼

    本文主要介紹了Docker上部署FastApi的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • docker中容器運行時如何將目錄和宿主機進行掛載

    docker中容器運行時如何將目錄和宿主機進行掛載

    對于一個已經(jīng)運行的容器,如果后續(xù)需要新掛載一個目錄怎么辦?下面這篇文章主要給大家介紹了關于docker中容器運行時如何將目錄和宿主機進行掛載的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-05-05
  • Docker配置文件daemon.json配置國內(nèi)源的實現(xiàn)

    Docker配置文件daemon.json配置國內(nèi)源的實現(xiàn)

    本文主要介紹了Docker配置文件daemon.json配置國內(nèi)源的實現(xiàn),通過編輯daemon.json文件添加鏡像地址、重啟服務及驗證步驟,提升鏡像拉取效率,感興趣的可以了解一下
    2025-08-08
  • docker nginx ssl設置的實現(xiàn)步驟

    docker nginx ssl設置的實現(xiàn)步驟

    本文主要介紹了docker nginx ssl設置的實現(xiàn)步驟,使用docker運行nginx,配置代理,和ssl設置,進行https訪問,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08

最新評論

汝城县| 剑川县| 成都市| 肥西县| 儋州市| 嘉黎县| 敦煌市| 大安市| 印江| 福州市| 偃师市| 贵定县| 方城县| 佛山市| 比如县| 南城县| 娱乐| 平利县| 来宾市| 定安县| 南昌县| 周至县| 交城县| 舞钢市| 读书| 赣州市| 海淀区| 团风县| 山西省| 屏东市| 红安县| 盐池县| 常山县| 榆中县| 兰州市| 阿克陶县| 勐海县| 墨竹工卡县| 台南县| 泾阳县| 玉屏|