欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker概念、安裝與基本使用

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

一、概念

1.1 docker是什么?

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

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

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

1.2 什么是容器?

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

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

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

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

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

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

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

1.4 容器,鏡像,倉庫

  • 鏡像: image 是軟件單元,本質(zhì)上是一個文件,文件里面有應(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ì)上是一個進(jìn)程,提供服務(wù)

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

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

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

  • 單一職責(zé):每個服務(wù)只負(fù)責(zé)一個業(yè)務(wù)模塊
  • 獨(dú)立部署:修改一個服務(wù)時,無需重新部署整個應(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)錯”)容器打包應(yīng)用 + 依賴,確保所有環(huán)境鏡像一致消除 “環(huán)境差異”,降低部署故障
服務(wù)部署復(fù)雜(需手動配置依賴、端口)通過 Dockerfile 自動化構(gòu)建鏡像,Compose 一鍵部署多服務(wù)標(biāo)準(zhǔn)化部署流程,提升效率
資源隔離差(多服務(wù)共享主機(jī)資源,易沖突)容器間資源隔離(CPU、內(nèi)存、網(wǎng)絡(luò)),互不干擾避免 “服務(wù)搶占資源”,提升系統(tǒng)穩(wěn)定性
服務(wù)擴(kuò)容慢(需手動搭建新主機(jī)環(huán)境)容器輕量(啟動秒級),可快速復(fù)制鏡像啟動新容器支持 “秒級擴(kuò)容”,應(yīng)對流量峰值
版本管理難(多服務(wù)版本迭代,回滾復(fù)雜)鏡像版本化,回滾時只需切換鏡像版本簡化版本管理,降低回滾風(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ì)算和存儲能力,將數(shù)據(jù)和應(yīng)用程序從本地計(jì)算機(jī)或服務(wù)器轉(zhuǎn)移到云中,使得用戶可以隨時隨地獲取所需的信息和服務(wù)

  • 公有云: 阿里云、騰訊云、華為云、AWS(亞馬遜)、google云、微軟云azure、電信云
  • 買服務(wù)器
  • 私有云/專有云: 自己使用不與其他人分享的云平臺 --》購買阿里云/騰訊云、華為云的云平臺軟件,自己的服務(wù)器
  • 國家電網(wǎng)、財(cái)通證券
  • 政府、國企
  • 混合云: 公有云、私有云
  • 12306 購買火車票
服務(wù)模式英文全稱核心定義用戶視角典型場景
IaaSInfrastructure as a Service(基礎(chǔ)設(shè)施即服務(wù))提供最底層的 IT 基礎(chǔ)設(shè)施:虛擬服務(wù)器(ECS)、存儲(OSS)、網(wǎng)絡(luò)(VPC)等,用戶需自行部署操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用程序租用一臺虛擬電腦,自己裝系統(tǒng)和軟件企業(yè)搭建自有服務(wù)器集群、開發(fā)測試環(huán)境
PaaSPlatform as a Service(平臺即服務(wù))提供 “應(yīng)用開發(fā) / 運(yùn)行平臺”:包含操作系統(tǒng)、數(shù)據(jù)庫、中間件(如 Tomcat)、開發(fā)工具等,用戶只需上傳應(yīng)用代碼即可運(yùn)行租用一個已裝好環(huán)境的開發(fā)平臺,直接寫代碼快速開發(fā) Web 應(yīng)用、移動 APP 后端、大數(shù)據(jù)分析(如使用 Hadoop 平臺)
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)直接使用別人的容器平臺,云廠商按照使用時長和算力來收費(fèi),企業(yè)不需要購買服務(wù)器了適合流量波動大、執(zhí)行時間短、事件驅(qū)動型的業(yè)務(wù)場景

函數(shù)計(jì)算(Function Compute)是一個事件驅(qū)動的全托管 Serverless 計(jì)算服務(wù),您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳,函數(shù)計(jì)算會為您準(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)使用官方的源,在安裝的時候出錯,下載不下來軟件,建議使用阿里云的源

# 兩條命令等同,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)行時管理的
  • docker-buildx-plugin 是docker的一個插件,用來構(gòu)建鏡像
  • docker-compose-plugin docker的單機(jī)里的容器編排工具,可以同時啟動很多容器
[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進(jìn)程,確認(rèn)docker服務(wù)已經(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 時,默認(rèn)是訪問docker官方提供的鏡像下載的網(wǎng)站,配置合適的鏡像源可以顯著提升鏡像拉取速度,尤其是在國內(nèi)網(wǎng)絡(luò)環(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
不接版本號,默認(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 啟動一個nginx的容器

–》啟動nginx程序
docker run

  • --name sc-nginx-1:指定容器名稱為 sc-nginx-1(方便后續(xù)管理)
  • -p 8080:80:端口映射,將宿主機(jī)的 8080 端口映射到容器內(nèi)的 80 端口
  • -d:后臺運(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 查看啟動的容器

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-compose:數(shù)據(jù)卷volumes掛載規(guī)則說明

    docker-compose:數(shù)據(jù)卷volumes掛載規(guī)則說明

    這篇文章主要介紹了docker-compose:數(shù)據(jù)卷volumes掛載規(guī)則說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑

    Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑

    本文主要介紹了Docker快速搭建PHP+Nginx+Mysql環(huán)境及踩坑 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • docker啟動鏡像失敗后如何用日志logs查找失敗原因及解決

    docker啟動鏡像失敗后如何用日志logs查找失敗原因及解決

    在使用docker的時候,在某些未知的情況下可能啟動了容器,但是過了沒幾秒容器自動退出了,這個時候如何排查問題呢?下面這篇文章主要給大家介紹了關(guān)于docker啟動鏡像失敗后如何用日志logs查找失敗原因及解決的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • docker容器在uos-12038.101上啟動報(bào)錯的解決辦法

    docker容器在uos-12038.101上啟動報(bào)錯的解決辦法

    這篇文章主要介紹了docker容器在uos-12038.101上啟動報(bào)錯的問題,解決方案是需要在/etc/systemd/system/或者 /usr/lib/systemd/system/
    找到docker.service文件,在ExecStart=/usr/bin/dockerd后面添加 --default-ulimit nofile=65536:65536參數(shù),需要的朋友可以參考下
    2024-03-03
  • docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置

    docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置

    本篇文章主要介紹了docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • docker保存和加載tar及其tar.gz方式

    docker保存和加載tar及其tar.gz方式

    這篇文章主要介紹了docker保存和加載tar及其tar.gz方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • docker部署安裝jenkins的實(shí)現(xiàn)步驟

    docker部署安裝jenkins的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署安裝jenkins的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 關(guān)于Docker部署postgresql數(shù)據(jù)庫的問題

    關(guān)于Docker部署postgresql數(shù)據(jù)庫的問題

    這篇文章主要介紹了Docker部署postgresql數(shù)據(jù)庫的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 更改docker默認(rèn)數(shù)據(jù)目錄的方法步驟

    更改docker默認(rèn)數(shù)據(jù)目錄的方法步驟

    本文主要介紹了更改docker默認(rèn)數(shù)據(jù)目錄的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 在Docker Compose中獲取最新鏡像的多種方法總結(jié)

    在Docker Compose中獲取最新鏡像的多種方法總結(jié)

    Docker 鏡像是 Docker 容器的基礎(chǔ),鏡像包含了應(yīng)用程序所需的所有文件和依賴,Docker-Compose 默認(rèn)不會自動拉取最新的鏡像版本,這可能會導(dǎo)致使用過時的鏡像,從而錯過重要的更新,為了確保 Docker-Compose 始終使用最新的鏡像,我們可以采用多種方法,以下將詳細(xì)介紹這些方法
    2024-08-08

最新評論