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

docker概念、安裝與基本使用

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

一、概念

1.1 docker是什么?

就是一個(gè)軟件,跑容器的軟件 -> 容器化軟件

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

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

1.2 什么是容器?

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

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

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

很多企業(yè)里的物理機(jī)的資源使用率比較低,一個(gè)業(yè)務(wù)一群機(jī)器,導(dǎo)致大量的資源浪費(fèi),成本過高

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

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

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

1.4 容器,鏡像,倉庫

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

1.5 微服務(wù)、云計(jì)算

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

微服務(wù)的核心特征

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

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

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

云計(jì)算(Cloud Computing)

物理機(jī)–》虛擬化–》云計(jì)算–》云服務(wù)–》容器–》云原生
云原生: 就是與容器、k8s、Prometheus、etcd相關(guān)的技術(shù)

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

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

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

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

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

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

第1步:卸載以前安裝過的docker相關(guān)的軟件

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

第2步: 配置安裝docker的源,默認(rèn)使用官方的源,在安裝的時(shí)候出錯(cuò),下載不下來軟件,建議使用阿里云的源

# 兩條命令等同,yum 是 dnf 的軟鏈接,執(zhí)行 yum install yum-utils 本質(zhì)也是安裝 dnf 兼容的擴(kuò)展工具
[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服務(wù)的
  • docker-ce-cli 提供docker客戶端命令的
  • containerd.io 是提供容器運(yùn)行時(shí)管理的
  • docker-buildx-plugin 是docker的一個(gè)插件,用來構(gòu)建鏡像
  • docker-compose-plugin docker的單機(jī)里的容器編排工具,可以同時(shí)啟動(dòng)很多容器
[root@localhost ~]# sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin  -y

第4步: 啟動(dòng)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進(jìn)程,確認(rèn)docker服務(wù)已經(jīng)啟動(dò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 時(shí),默認(rèn)是訪問docker官方提供的鏡像下載的網(wǎng)站,配置合適的鏡像源可以顯著提升鏡像拉取速度,尤其是在國內(nèi)網(wǎng)絡(luò)環(huán)境下

[root@localhost ~]# mkdir  -p /etc/docker/
# 添加2個(gè)國內(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
不接版本號(hào),默認(rèn)下載最新的

[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ī)已經(jīng)下載的鏡像

docker images

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

3.4 啟動(dòng)一個(gè)nginx的容器

–》啟動(dòng)nginx程序
docker run

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

3.5 查看啟動(dòng)的容器

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

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

3.6 鏡像導(dǎo)入/導(dǎo)出

導(dǎo)出

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

導(dǎo)入

[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 進(jìn)行安裝)

官方文檔: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 進(jìn)行安裝)

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服務(wù)

sudo service docker start

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

相關(guān)文章

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

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

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

    docker安裝redmine步驟

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

    Windows 安裝 Docker核心思路

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

    Windows?Server?2012?R2?安裝?Docker的詳細(xì)步驟

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

    docker 搭建單機(jī)PostgreSQL操作詳解

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

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

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

    Docker上部署FastApi的示例代碼

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

    docker中容器運(yùn)行時(shí)如何將目錄和宿主機(jī)進(jìn)行掛載

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

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

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

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

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

最新評論

临沭县| 贡觉县| 梁河县| 宣化县| 雷波县| 台中市| 枣强县| 揭东县| 兴仁县| 格尔木市| 曲麻莱县| 福鼎市| 阿拉善右旗| 射阳县| 衡东县| 开平市| 绥江县| 启东市| 苗栗市| 广南县| 仙居县| 惠水县| 福泉市| 嵊泗县| 遵义市| 泰安市| 盖州市| 庆城县| 肇庆市| 子长县| 朝阳县| 靖远县| 湄潭县| 紫云| 凭祥市| 江西省| 兴文县| 上饶市| 蓬溪县| 朝阳市| 沛县|