溫馨提示×

ubuntu下如何使用docker進行開發

小樊
43
2025-09-27 10:03:51
欄目: 智能運維

Ubuntu下使用Docker進行開發的完整流程

1. 安裝Docker Engine

在Ubuntu上安裝Docker是開發的第一步,需通過以下步驟完成:

  • 更新系統包:確保系統軟件包為最新版本,避免依賴沖突。
    sudo apt update && sudo apt upgrade -y
    
  • 安裝依賴工具:Docker需要apt-transport-https、ca-certificates等工具支持。
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    
  • 添加Docker官方GPG密鑰:驗證Docker軟件包的完整性。
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
  • 設置Docker APT倉庫:將Docker官方倉庫添加到系統源列表。
    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
    
  • 安裝Docker Engine:更新包索引并安裝Docker核心組件。
    sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  • 驗證安裝:運行hello-world鏡像,確認Docker能正常啟動容器。
    sudo docker run hello-world
    
  • 配置用戶權限(可選):將當前用戶加入docker組,避免每次運行Docker命令都需要sudo。
    sudo usermod -aG docker $USER && newgrp docker  # 立即生效
    

以上步驟完成后,即可在Ubuntu上使用Docker命令。

2. 安裝Docker Compose(可選但推薦)

對于需要管理多容器應用(如Web應用+數據庫)的開發者,Docker Compose是必備工具。安裝步驟如下:

  • 下載Docker Compose二進制文件:選擇最新版本(以v2.32.4為例)。
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.32.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
  • 賦予執行權限
    sudo chmod +x /usr/local/bin/docker-compose
    
  • 驗證安裝
    docker-compose --version
    

Docker Compose通過docker-compose.yml文件定義多容器應用,簡化了部署流程。

3. 構建自定義開發鏡像

自定義鏡像是Docker開發的核心,通過Dockerfile定義開發環境的依賴和配置。以下是具體步驟:

  • 創建項目目錄:用于存放項目代碼和Dockerfile。
    mkdir my-dev-project && cd my-dev-project
    
  • 編寫Dockerfile:定義鏡像的基礎環境(以Python開發環境為例)。
    # 使用官方Ubuntu鏡像作為基礎
    FROM ubuntu:22.04
    # 設置環境變量,避免交互式提示
    ENV DEBIAN_FRONTEND=noninteractive
    # 安裝必要的開發工具和依賴
    RUN apt update && apt install -y \
        build-essential \
        python3 \
        python3-pip \
        git \
        vim \
        && rm -rf /var/lib/apt/lists/*
    # 設置工作目錄(容器內的默認路徑)
    WORKDIR /app
    # 暴露應用端口(如Python Flask的8000端口)
    EXPOSE 8000
    # 復制項目代碼到容器內(可選,可在后續步驟中動態掛載)
    # COPY . /app
    # 設置默認命令(可選)
    # CMD ["python3", "app.py"]
    
  • 構建鏡像:使用docker build命令生成鏡像,-t參數指定鏡像名稱和標簽。
    docker build -t my-python-dev-env:1.0 .
    
  • 驗證鏡像:查看本地鏡像列表,確認鏡像已構建成功。
    docker images
    

通過Dockerfile可以快速復現一致的開發環境,避免“在我機器上能跑”的問題。

4. 運行開發容器

構建完成后,可通過docker run命令啟動容器,進入開發環境:

  • 基本運行:以后臺模式啟動容器,映射端口(如將主機的8000端口映射到容器的8000端口)。
    docker run -d -p 8000:8000 --name my-dev-container my-python-dev-env:1.0
    
  • 交互式運行:進入容器的命令行,直接進行開發操作(如編寫代碼、安裝依賴)。
    docker run -it --rm --name my-dev-container my-python-dev-env:1.0 /bin/bash
    
    參數說明:
    • -it:分配交互式終端;
    • --rm:退出容器后自動刪除(適合臨時調試);
    • --name:指定容器名稱。
  • 掛載代碼目錄:將主機的項目目錄掛載到容器內,實現代碼實時同步(修改主機代碼無需重啟容器)。
    docker run -it -v $(pwd):/app -p 8000:8000 --name my-dev-container my-python-dev-env:1.0 /bin/bash
    
    參數說明:
    • -v $(pwd):/app:將主機的當前目錄掛載到容器的/app目錄。

進入容器后,可使用pip install安裝依賴、vim編輯代碼,如同在本地開發一樣。

5. 常用開發操作命令

開發過程中,需要頻繁執行以下Docker命令:

  • 查看運行中的容器
    docker ps
    
  • 查看所有容器(包括已停止的)
    docker ps -a
    
  • 停止容器
    docker stop my-dev-container
    
  • 啟動已停止的容器
    docker start my-dev-container
    
  • 刪除容器
    docker rm my-dev-container
    
  • 刪除鏡像
    docker rmi my-python-dev-env:1.0
    
  • 查看容器日志(實時輸出):
    docker logs -f my-dev-container
    
  • 在運行中的容器內執行命令(如安裝依賴):
    docker exec -it my-dev-container pip install requests
    

這些命令能幫助開發者高效管理容器生命周期。

6. 使用Docker Compose管理多容器應用

對于復雜項目(如Web應用+Redis+PostgreSQL),可使用docker-compose.yml文件定義多容器服務:

  • 創建docker-compose.yml文件
    version: '3'
    services:
      web:
        build: .  # 使用當前目錄的Dockerfile構建鏡像
        ports:
          - "5000:5000"  # 主機端口:容器端口
        volumes:
          - .:/code  # 掛載主機目錄到容器
        depends_on:
          - redis
      redis:
        image: "redis:alpine"  # 使用官方Redis鏡像
    
  • 構建并啟動服務
    docker-compose up -d  # -d表示后臺運行
    
  • 查看服務狀態
    docker-compose ps
    
  • 停止并刪除服務
    docker-compose down
    

Docker Compose簡化了多容器應用的部署和管理,適合團隊協作和復雜項目。

通過以上步驟,即可在Ubuntu上使用Docker搭建高效、一致的Python開發環境。Docker的容器化技術能避免環境沖突,提高開發效率,是現代軟件開發的重要工具。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女