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

Ubuntu20.04上安裝docker步驟及docker使用方法

 更新時(shí)間:2026年04月28日 10:25:15   作者:SALUTE18  
Docker是一個可以簡化容器中應(yīng)用程序進(jìn)程管理過程的應(yīng)用程序,容器允許你在資源隔離的進(jìn)程中運(yùn)行應(yīng)用程序,這篇文章主要介紹了Ubuntu20.04上安裝docker步驟及docker使用的相關(guān)資料,需要的朋友可以參考下

查看本機(jī)系統(tǒng)

lsb_release -a

安裝步驟

1.卸載舊版本

sudo apt-get remove docker docker-engine docker.io

2.更新系統(tǒng)包索引

sudo apt-get update

3.安裝必要工具包、依賴包

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

4.為了確認(rèn)所下載軟件包的合法性,需要添加軟件源的 GPG 密鑰

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

5.向 sources.list 中添加 Docker 軟件源

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

6.更新 apt 軟件包緩存,并安裝 docker-ce

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

7.將當(dāng)前用戶加入 docker 組

# 1. 創(chuàng)建 docker 組(如果不存在)
sudo groupadd docker

# 2. 將當(dāng)前用戶加入 docker 組
sudo usermod -aG docker $USER

# 3. 重新登錄或重啟終端使組權(quán)限生效
newgrp docker  # 或者直接退出終端重新登錄

# 4. 驗(yàn)證是否成功
docker ps  # 應(yīng)該能正常運(yùn)行了

8.查看docker是否安裝成功,如果是普通用戶有些指令可能沒有權(quán)限,可以將當(dāng)前用戶添加到 Docker 組

docker -v
docker info

# 將當(dāng)前用戶添加到 Docker 組
sudo usermod -aG docker ubuntu
newgrp docker
groups ubuntu

9.配置鏡像加速器

# 輸入docker run --rm hello-world有時(shí)會報(bào)超時(shí),需要配置鏡像加速器
sudo mkdir -p /etc/docker
echo '{
    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com",
        "https://dockerproxy.com",
        "https://ccr.ccs.tencentyun.com",
        "https://registry.cn-hangzhou.aliyuncs.com"
    ]
}' | sudo tee /etc/docker/daemon.json

sudo systemctl daemon-reload

sudo systemctl restart docker

docker中的容器和鏡像區(qū)別

Docker 鏡像

Docker 鏡像是只讀模板,其中包含創(chuàng)建 Docker 容器所需的所有文件和代碼。它本質(zhì)上是一個可執(zhí)行包,其中包含以下內(nèi)容:

  • 操作系統(tǒng)基礎(chǔ)鏡像(例如,Ubuntu、Alpine Linux)
  • 應(yīng)用程序代碼和依賴項(xiàng)
  • 配置文件
  • 啟動命令

Docker 鏡像是不可變的,這意味著一旦創(chuàng)建就不能修改。這確保了容器的一致性和可重復(fù)性。

Docker 容器

Docker 容器是使用 Docker 鏡像運(yùn)行的實(shí)例。它是隔離的、輕量級的執(zhí)行環(huán)境,擁有自己的文件系統(tǒng)、網(wǎng)絡(luò)和進(jìn)程。容器可以讀寫,并可以根據(jù)需要進(jìn)行修改。

當(dāng)啟動容器時(shí),Docker 會從鏡像創(chuàng)建一個新的文件系統(tǒng)層。該層包含容器對鏡像所做的所有更改。這允許容器具有自己的唯一狀態(tài),而不會影響基礎(chǔ)鏡像。

特性Docker 鏡像Docker 容器
類型模板運(yùn)行實(shí)例
可變性不可變可變
目的創(chuàng)建容器運(yùn)行應(yīng)用程序
狀態(tài)只讀讀寫
文件系統(tǒng)只有一層多層(基礎(chǔ)鏡像層 + 容器層)

Docker 鏡像用于創(chuàng)建和分發(fā)可移植、一致的應(yīng)用程序。它們可以存儲在 Docker 注冊表中并根據(jù)需要進(jìn)行拉取和部署。

Docker 容器用于運(yùn)行應(yīng)用程序和服務(wù)。它們提供了隔離的、輕量級的執(zhí)行環(huán)境,可以輕松地創(chuàng)建、管理和擴(kuò)展。

Docker 鏡像和 Docker 容器是 Docker 生態(tài)系統(tǒng)中互補(bǔ)的組件。鏡像是創(chuàng)建容器的模板,而容器是使用鏡像運(yùn)行的實(shí)例。

docker常用命令

1.服務(wù)相關(guān)命令

#啟動docker服務(wù)
sudo systemctl start docker

#停止docker服務(wù)
sudo systemctl stop docker

#重啟docker服務(wù)
sudo systemctl restart docker

#查看docker服務(wù)狀態(tài)
sudo systemctl status docker

#設(shè)置開機(jī)啟動docker服務(wù)
sudo systemctl enable docker

2.鏡像相關(guān)命令

#查看鏡像:查看本地所有的鏡像
docker images
# 查看所用鏡像的id
docker images -q 

#搜索鏡像:從網(wǎng)絡(luò)中查找需要的鏡像
docker search 鏡像名稱

#拉取鏡像:從docker倉庫下載鏡像到本地,鏡像名稱格式為名稱:版本號,如果版本號不指定則是最新的版本。
#如果不知道鏡像版本,可以去 docker hub搜索對應(yīng)鏡像查看。
docker pull 鏡像名稱

#拉取指定CPU架構(gòu)并且指定ubuntu版本的docker:
# aarch64 (arm v8) CPU架構(gòu):
docker pull --platform=linux/aarch64 ubuntu:22.04
# x86_64 CPU架構(gòu):
docker pull --platform=linux/x86_64 ubuntu:22.04

#查看鏡像的架構(gòu):
docker image inspect ubuntu:22.04 | grep Architecture
# "Architecture": "arm64",

#刪除鏡像:刪除本地鏡像
#刪除指定本地鏡像
docker rmi 鏡像id 
#刪除所有本地鏡像
docker rmi `docker images -q` 

3.容器相關(guān)命令

#查看容器
#查看正在運(yùn)行的容器
docker ps  
#查看所有容器
docker ps -a  

創(chuàng)建docker鏡像和容器

1.在vscode中安裝 Docker 擴(kuò)展

2.創(chuàng)建 Docker 鏡像

創(chuàng)建 Dockerfile

# 示例 Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

構(gòu)建鏡像

docker build -t my-app:latest .

3.從鏡像運(yùn)行容器

#在 Docker 擴(kuò)展側(cè)邊欄
#右鍵鏡像 → "Run"

#或終端執(zhí)行:
docker run -d -p 3000:3000 --name my-container my-app

概念總結(jié)

1.鏡像 vs 容器

  • 鏡像:只讀模板,包含應(yīng)用和運(yùn)行環(huán)境

  • 容器:鏡像的運(yùn)行實(shí)例,有可寫層

2.Docker 命令對應(yīng)關(guān)系

構(gòu)建: docker build → Dockerfile
運(yùn)行: docker run → 容器實(shí)例
編排: docker-compose → docker-compose.yml
開發(fā): Dev Containers → devcontainer.json

3.VSCode 集成流程

1. 編寫代碼 → 2. 配置 Dockerfile → 3. 構(gòu)建鏡像
4. 運(yùn)行容器 → 5. 調(diào)試/測試 → 6. 提交鏡像

常用命令

1.鏡像操作

# 查看本地鏡像
docker images
docker image ls
docker images -a          # 顯示所有鏡像(包括中間層)
docker images --digests   # 顯示摘要信息
docker images --no-trunc  # 顯示完整鏡像ID

# 搜索 Docker Hub 鏡像
docker search nginx
docker search nginx --filter=stars=100  # 星數(shù)篩選
docker search nginx --limit 5           # 限制結(jié)果數(shù)量

# 拉取鏡像
docker pull nginx
docker pull nginx:1.21-alpine          # 指定標(biāo)簽
docker pull ubuntu:20.04               # 指定版本
docker pull nginx@sha256:...           # 根據(jù)摘要拉取

# 刪除鏡像
docker rmi nginx:latest
docker rmi image_id                    # 根據(jù)ID刪除
docker rmi $(docker images -q)         # 刪除所有鏡像
docker image prune                     # 刪除懸空鏡像
docker image prune -a                  # 刪除所有未使用鏡像

# 鏡像標(biāo)簽
docker tag nginx:latest mynginx:v1
docker tag image_id new_name:tag       # 根據(jù)ID打標(biāo)簽

# 保存和加載鏡像
docker save -o nginx.tar nginx:latest  # 保存為tar文件
docker load -i nginx.tar               # 從tar文件加載

# 查看鏡像歷史
docker history nginx:latest
docker history --no-trunc nginx:latest # 顯示完整命令

2.鏡像構(gòu)建

# 構(gòu)建鏡像
docker build .
docker build -t myapp:latest .               # 指定標(biāo)簽
docker build -t myapp:v1 -t myapp:latest .   # 多個標(biāo)簽
docker build -f Dockerfile.dev .             # 指定Dockerfile
docker build --no-cache .                    # 不使用緩存

# 構(gòu)建參數(shù)
docker build --build-arg NODE_ENV=production .
docker build --progress=plain .              # 顯示詳細(xì)進(jìn)度
docker build --pull .                        # 總是拉取最新基礎(chǔ)鏡像

3.容器生命周期

# 運(yùn)行容器
docker run nginx
docker run -d nginx                         # 后臺運(yùn)行
docker run --name mynginx nginx             # 指定名稱
docker run --rm nginx                       # 退出后自動刪除
docker run -it nginx bash                   # 交互式終端
docker run -p 8080:80 nginx                 # 端口映射

# 常用運(yùn)行選項(xiàng)
docker run -e NODE_ENV=production nginx     # 環(huán)境變量
docker run -v /host/path:/container/path nginx  # 掛載卷
docker run --network mynetwork nginx        # 指定網(wǎng)絡(luò)
docker run --memory="512m" nginx            # 內(nèi)存限制
docker run --cpus="1.5" nginx               # CPU限制

# 啟動/停止/重啟
docker start container_name
docker stop container_name
docker stop -t 30 container_name           # 指定停止超時(shí)時(shí)間
docker restart container_name
docker pause container_name                # 暫停容器
docker unpause container_name              # 恢復(fù)容器

# 刪除容器
docker rm container_name
docker rm -f container_name                # 強(qiáng)制刪除運(yùn)行中的容器
docker rm $(docker ps -aq)                 # 刪除所有停止的容器
docker container prune                     # 刪除所有停止的容器

4.容器查看和監(jiān)控

# 查看容器
docker ps                    # 運(yùn)行中的容器
docker ps -a                 # 所有容器
docker ps -l                 # 最后一個創(chuàng)建的容器
docker ps -n 5               # 最近創(chuàng)建的5個容器
docker ps -q                 # 只顯示容器ID
docker ps -f "status=running"  # 過濾器
docker ps -f "name=my"        # 名稱過濾
docker ps --format "table {{.Names}}\t{{.Status}}"  # 自定義格式

# 容器詳情
docker inspect container_name
docker inspect -f '{{.NetworkSettings.IPAddress}}' container_name  # 獲取特定信息
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name

# 容器資源使用
docker stats
docker stats container_name               # 特定容器
docker stats --no-stream                  # 單次統(tǒng)計(jì)
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

# 容器進(jìn)程
docker top container_name                 # 查看容器內(nèi)進(jìn)程
docker exec container_name ps aux         # 執(zhí)行命令查看

5.容器交互

# 進(jìn)入容器
docker exec -it container_name bash
docker exec -it container_name sh
docker exec -it container_name /bin/bash
docker exec -u root container_name bash   # 指定用戶

# 執(zhí)行命令
docker exec container_name ls -la
docker exec -d container_name touch /tmp/test  # 后臺執(zhí)行

# 容器日志
docker logs container_name
docker logs -f container_name             # 實(shí)時(shí)跟蹤
docker logs --tail 50 container_name      # 最后50行
docker logs -t container_name             # 顯示時(shí)間戳
docker logs --since 1h container_name     # 最近1小時(shí)
docker logs --until 1h container_name     # 到1小時(shí)前

# 文件操作
docker cp container_name:/path/to/file /host/path  # 從容器復(fù)制到主機(jī)
docker cp /host/path container_name:/path          # 從主機(jī)復(fù)制到容器

6.系統(tǒng)管理命令

# Docker 信息
docker info
docker version
docker system info

# 磁盤使用
docker system df
docker system df -v                     # 詳細(xì)磁盤使用

# 事件查看
docker events
docker events --filter 'type=container' --since '2024-01-01'

# 清理未使用資源
docker system prune
docker system prune -a                  # 清理所有未使用資源
docker system prune --volumes           # 包括卷

# 具體清理
docker container prune                  # 清理停止的容器
docker image prune                      # 清理懸空鏡像
docker volume prune                     # 清理未使用的卷
docker network prune                    # 清理未使用的網(wǎng)絡(luò)

# 構(gòu)建緩存清理
docker builder prune
docker builder prune --all

7.鏡像檢查

# 檢查鏡像層
docker history myapp:latest

# 查看鏡像內(nèi)容
docker run --rm -it myapp:latest ls -la /

# 鏡像安全掃描
docker scan myapp:latest

總結(jié) 

到此這篇關(guān)于Ubuntu20.04上安裝docker步驟及docker使用方法的文章就介紹到這了,更多相關(guān)Ubuntu20.04安裝docker及使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決docker網(wǎng)絡(luò)錯誤(network bridge not found)

    解決docker網(wǎng)絡(luò)錯誤(network bridge not found)

    這篇文章主要介紹了解決docker網(wǎng)絡(luò)錯誤(network bridge not found)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Docker快速入門以及環(huán)境配置詳解

    Docker快速入門以及環(huán)境配置詳解

    Docker應(yīng)該算是很熱門的技術(shù)了,之前一直沒怎么真正地去了解、接觸。通過翻譯這篇簡單的教程,我同時(shí)也對Dcoker有了入門的了解。Docker確實(shí)是跨平臺開發(fā)的利器。有需要的朋友們下面跟著小編一起來看看吧。
    2016-10-10
  • 給debian的docker容器添加crontab定時(shí)任務(wù)

    給debian的docker容器添加crontab定時(shí)任務(wù)

    這篇文章主要介紹了給debian的docker容器添加crontab定時(shí)任務(wù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 輕量級對象存儲服務(wù)minio安裝及瀏覽器使用教程

    輕量級對象存儲服務(wù)minio安裝及瀏覽器使用教程

    本次介紹了minio的安裝及瀏覽器中的簡單使用,對輕量級對象存儲服務(wù)minio安裝及使用教程感興趣的朋友一起看看吧
    2021-10-10
  • docker安裝jenkins的過程并配置jdk、node和maven

    docker安裝jenkins的過程并配置jdk、node和maven

    本文介紹了如何從拉取Jenkins鏡像開始,通過創(chuàng)建文件夾、準(zhǔn)備JDK、Maven和Node環(huán)境,修改settings.xml支持http協(xié)議,到建立Dockerfile進(jìn)行Jenkins鏡像的二次打包,同時(shí)涉及容器的運(yùn)行、Jenkins初始化設(shè)置、插件安裝和環(huán)境變量配置等步驟,幫助用戶成功部署并運(yùn)行Jenkins服務(wù)
    2024-10-10
  • zabbix監(jiān)控docker容器狀態(tài)【推薦】

    zabbix監(jiān)控docker容器狀態(tài)【推薦】

    這篇文章主要介紹了zabbix監(jiān)控docker容器狀態(tài)的相關(guān)資料,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • 如何通過Jenkins定期清理為None的鏡像詳解

    如何通過Jenkins定期清理為None的鏡像詳解

    這篇文章主要給大家介紹了關(guān)于如何通過Jenkins定期清理為None的鏡像的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Docker attach 命令卡死的問題及解決方案

    Docker attach 命令卡死的問題及解決方案

    Docker 是一種輕量級的容器化平臺,可以實(shí)現(xiàn)快速部署、運(yùn)行和管理應(yīng)用程序,這篇文章給大家介紹Docker attach 命令卡死的解決方案,感興趣的朋友一起看看吧
    2023-12-12
  • 詳解docker下的Mysql鏡像的使用方法

    詳解docker下的Mysql鏡像的使用方法

    本篇文章主要介紹了詳解docker下的Mysql鏡像的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • docker+daocloud實(shí)現(xiàn)前端項(xiàng)目自動構(gòu)建部署

    docker+daocloud實(shí)現(xiàn)前端項(xiàng)目自動構(gòu)建部署

    這篇文章主要介紹了docker+daocloud實(shí)現(xiàn)前端項(xiàng)目自動構(gòu)建部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論

崇州市| 石棉县| 嫩江县| 中超| 友谊县| 青岛市| 堆龙德庆县| 桂林市| 大关县| 贵阳市| 海丰县| 广水市| 宿松县| 壶关县| 岳阳市| 三都| 罗江县| 铜鼓县| 遵义市| 庆城县| 五寨县| 武汉市| 镇康县| 奎屯市| 林甸县| 黑龙江省| 施秉县| 来凤县| 于都县| 宿迁市| 鲁山县| 太和县| 灵宝市| 德钦县| 山东省| 屯留县| 上饶市| 寻甸| 灵山县| 利津县| 儋州市|