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

Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南

 更新時(shí)間:2025年07月22日 10:38:48   作者:帶娃的IT創(chuàng)業(yè)者  
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)、可移植的容器中,實(shí)現(xiàn)快速部署和運(yùn)行,本文給大家詳細(xì)介紹了Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南,需要的朋友可以參考下

一、Docker 簡(jiǎn)介

Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)、可移植的容器中,實(shí)現(xiàn)快速部署和運(yùn)行。

二、系統(tǒng)要求

  • 操作系統(tǒng):Ubuntu 20.04 或更高版本(推薦使用 LTS 版本)
  • 用戶權(quán)限:具有 sudo 權(quán)限
  • 網(wǎng)絡(luò):能夠訪問(wèn)互聯(lián)網(wǎng)(用于下載 Docker 和鏡像)

三、安裝 Docker Engine

方法一:使用官方安裝腳本(推薦)

# 更新系統(tǒng)軟件包
sudo apt update

# 安裝依賴包
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 官方 GPG 密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 官方倉(cāng)庫(kù)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新軟件包索引
sudo apt update

# 安裝 Docker 引擎
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 驗(yàn)證是否安裝成功
sudo docker --version

四、驗(yàn)證 Docker 是否正常運(yùn)行

# 運(yùn)行測(cè)試容器
sudo docker run hello-world

如果輸出類似下面的內(nèi)容,說(shuō)明 Docker 安裝成功:

Hello from Docker!
This message shows that your installation appears to be working correctly.

五、配置 Docker 用戶權(quán)限(避免每次使用 sudo)

默認(rèn)情況下,只有 root 用戶或 docker 組用戶才能運(yùn)行 Docker 命令。

# 創(chuàng)建 docker 用戶組(如果尚未存在)
sudo groupadd docker

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

# 重新加載用戶組權(quán)限
newgrp docker

# 驗(yàn)證是否可以不使用 sudo 運(yùn)行 Docker
docker run hello-world

注意:退出終端后重新登錄,權(quán)限才會(huì)生效。

六、Docker 常用命令

1. 查看運(yùn)行中的容器

docker ps

2. 查看所有容器(包括已停止的)

docker ps -a

3. 查看本地鏡像

docker images

4. 拉取鏡像

docker pull nginx

5. 運(yùn)行容器

docker run -d -p 8080:80 --name mynginx nginx
  • -d:后臺(tái)運(yùn)行
  • -p 8080:80:將宿主機(jī)的 8080 端口映射到容器的 80 端口
  • --name mynginx:為容器指定名稱
  • nginx:使用的鏡像名

6. 停止容器

docker stop mynginx

7. 啟動(dòng)已存在的容器

docker start mynginx

8. 刪除容器

docker rm mynginx

注意:刪除前請(qǐng)先停止容器。

9. 刪除鏡像

docker rmi nginx

七、構(gòu)建自定義鏡像(使用 Dockerfile)

示例:構(gòu)建一個(gè)簡(jiǎn)單的 Python Web 應(yīng)用

1. 創(chuàng)建項(xiàng)目目錄結(jié)構(gòu)

mkdir myapp
cd myapp
touch app.py Dockerfile

2. 編寫(xiě) app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello from Docker!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

3. 編寫(xiě) Dockerfile

FROM python:3.10-slim
WORKDIR /app
COPY app.py .
EXPOSE 5000
CMD ["python", "app.py"]

4. 構(gòu)建鏡像

docker build -t myapp .

5. 運(yùn)行容器

docker run -d -p 5000:5000 --name myapp-container myapp

6. 瀏覽器訪問(wèn)

http://localhost:5000

八、數(shù)據(jù)卷掛載(Volume)

如果你希望容器內(nèi)的數(shù)據(jù)持久化保存,可以使用 Volume。

docker run -d -p 5000:5000 \
  -v $(pwd)/data:/app/data \
  --name myapp-container myapp
  • $(pwd)/data:宿主機(jī)上的目錄
  • /app/data:容器中的目錄

九、網(wǎng)絡(luò)配置

Docker 會(huì)自動(dòng)為容器分配 IP,也可以自定義網(wǎng)絡(luò):

docker network create mynetwork
docker run --network mynetwork --name app1 -d myapp
docker run --network mynetwork --name app2 -d anotherapp

十、Docker Compose(多容器管理)

1. 安裝 Docker Compose

# 下載最新版本
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 賦予執(zhí)行權(quán)限
sudo chmod +x /usr/local/bin/docker-compose

# 驗(yàn)證安裝
docker-compose --version

2. 示例:使用 docker-compose.yml 管理多服務(wù)

# docker-compose.yml
version: '3'
services:
  web:
    build: .
    ports:
      - "5000:5000"
  redis:
    image: "redis:alpine"
# 啟動(dòng)服務(wù)
docker-compose up -d

# 停止服務(wù)
docker-compose down

十一、清理 Docker 資源

1. 刪除所有停止的容器

docker container prune

2. 刪除所有無(wú)用的鏡像

docker image prune -a

3. 刪除所有未使用的卷

docker volume prune

4. 刪除所有未使用的網(wǎng)絡(luò)

docker network prune

十二、常見(jiàn)問(wèn)題與解決方法

問(wèn)題解決方法
權(quán)限問(wèn)題(Permission denied)確保用戶已加入 docker 組,使用 newgrp docker 刷新權(quán)限
容器無(wú)法訪問(wèn)?檢查端口映射、防火墻設(shè)置
構(gòu)建失???檢查 Dockerfile 語(yǔ)法,依賴是否完整
磁盤空間不足?使用 docker system prune 清理無(wú)用資源

以上就是Docker在Ubuntu系統(tǒng)中的詳細(xì)操作指南的詳細(xì)內(nèi)容,更多關(guān)于Docker在Ubuntu中的操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker network 自定義網(wǎng)絡(luò)配置與管理指南詳細(xì)過(guò)程

    docker network 自定義網(wǎng)絡(luò)配置與管理指南詳細(xì)過(guò)程

    Docker網(wǎng)絡(luò)是容器間通信和與外部世界交互的基礎(chǔ),通過(guò)自定義網(wǎng)絡(luò),可以實(shí)現(xiàn)容器間的隔離、靜態(tài) IP 分配和服務(wù)發(fā)現(xiàn),這篇文章主要介紹了docker network 自定義網(wǎng)絡(luò)配置與管理指南,需要的朋友可以參考下
    2025-05-05
  • docker默認(rèn)存儲(chǔ)路徑修改方法總結(jié)

    docker默認(rèn)存儲(chǔ)路徑修改方法總結(jié)

    docker默認(rèn)存儲(chǔ)路徑是/var/lib/docker,占用服務(wù)器根分區(qū),容易導(dǎo)致磁盤空間占滿,下面這篇文章主要給大家介紹了關(guān)于docker默認(rèn)存儲(chǔ)路徑修改方法的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 在Docker中部署Confluence和jira-software的方法步驟

    在Docker中部署Confluence和jira-software的方法步驟

    這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 如何Docker化Python Django應(yīng)用程序

    如何Docker化Python Django應(yīng)用程序

    今天小編就為大家分享一篇關(guān)于如何Docker化Python Django應(yīng)用程序的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-09-09
  • 國(guó)內(nèi)最新可用Docker鏡像源網(wǎng)址與配置方法(全網(wǎng)最全)

    國(guó)內(nèi)最新可用Docker鏡像源網(wǎng)址與配置方法(全網(wǎng)最全)

    使用國(guó)內(nèi)鏡像源可以大幅提升鏡像拉取速度,減少網(wǎng)絡(luò)波動(dòng),幫助初學(xué)者快速上手Docker,本文將詳細(xì)介紹國(guó)內(nèi)最熱門的Docker鏡像源平臺(tái),希望對(duì)大家有所幫助
    2025-06-06
  • Docker容器Container鏡像Image如何存儲(chǔ)詳解

    Docker容器Container鏡像Image如何存儲(chǔ)詳解

    本文主要介紹Docker容器(Container)和鏡像(Image)是如何進(jìn)行數(shù)據(jù)存儲(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • docker網(wǎng)卡的IP地址修改方法總結(jié)

    docker網(wǎng)卡的IP地址修改方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于docker網(wǎng)卡的IP地址修改方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker 和 Containerd 目錄結(jié)構(gòu)及存儲(chǔ)機(jī)制詳解

    Docker 和 Containerd 目錄結(jié)構(gòu)及存儲(chǔ)機(jī)制詳解

    Docker和Containerd是兩種流行的容器運(yùn)行時(shí)工具,它們都有自己的目錄結(jié)構(gòu)和存儲(chǔ)機(jī)制,本文詳細(xì)介紹了Docker和Containerd的目錄結(jié)構(gòu)和存儲(chǔ)機(jī)制,并對(duì)比了它們之間的主要區(qū)別,包括存儲(chǔ)路徑、掛載點(diǎn)管理、配置文件和日志文件,感興趣的朋友一起看看吧
    2025-02-02
  • Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras

    Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras

    今天小編就為大家分享一篇關(guān)于Alpine鏡像中telnet轉(zhuǎn)移至busybox-extras,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • docker鏡像無(wú)法刪除 Error:No such image:xxxxxx解決

    docker鏡像無(wú)法刪除 Error:No such image:xxxxxx解決

    這篇文章主要介紹了docker鏡像無(wú)法刪除 Error:No such image:xxxxxx解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論