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

使用docker搭建嵌入式Linux開發(fā)環(huán)境

 更新時間:2025年08月29日 10:29:47   作者:Cohen0415(全網(wǎng)同名)  
本文主要介紹了使用docker搭建嵌入式Linux開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、前言

在日常開發(fā)全志、rk等不同平臺時,大多數(shù)時候只有一個編譯主機,但不同sdk所需要的編譯環(huán)境可能不同。所以本文將記錄使用docker為每個平臺創(chuàng)建獨立的開發(fā)環(huán)境。

2、安裝docker

# 1.卸載舊版本
sudo apt-get remove docker docker-engine docker.io containerd runc

# 2.安裝 Docker 依賴
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 3.添加 Docker 官方 GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 4.添加 Docker 官方 apt 源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5.安裝 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6.檢查是否安裝成功
docker --version

3、編寫容器管理腳本

找AI寫一個腳本,支持創(chuàng)建容器,進入容器,刪除容器:

#!/bin/bash
# 文件名: sdk_docker.sh
# 用法:
#   創(chuàng)建并啟動環(huán)境: ./sdk_docker.sh create <chip> <sdk_path>
#   進入環(huán)境:         ./sdk_docker.sh enter <chip>
#   刪除環(huán)境:         ./sdk_docker.sh remove <chip>

ACTION=$1
CHIP=$2
SDK_PATH=$3
IMAGE="ubuntu:22.04"        # 可自行修改,例如某某sdk推薦的ubuntu版本為20.04
CONTAINER_NAME="sdk_${CHIP}_env"

if [[ -z "$ACTION" || -z "$CHIP" ]]; then
    echo "Usage:"
    echo "  $0 create <chip> <sdk_path>"
    echo "  $0 enter <chip>"
    echo "  $0 remove <chip>"
    exit 1
fi

case "$ACTION" in
    create)
        if [[ -z "$SDK_PATH" ]]; then
            echo "Error: SDK path must be provided for create."
            exit 1
        fi

        # 檢查鏡像是否存在
        if ! docker image inspect $IMAGE >/dev/null 2>&1; then
            echo "Image $IMAGE not found locally. Pulling..."
            docker pull $IMAGE
        fi

        # 判斷容器是否已存在
        if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
            echo "Container $CONTAINER_NAME already exists. Starting it..."
            docker start -ai $CONTAINER_NAME
        else
            echo "Creating new container $CONTAINER_NAME..."
            # 容器內掛載路徑與宿主機一致
            docker run -it --name $CONTAINER_NAME -v $SDK_PATH:$SDK_PATH $IMAGE /bin/bash
        fi
        ;;
    enter)
        # 進入已有容器
        if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
            # 判斷容器是否在運行
            if docker ps --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
                docker exec -it $CONTAINER_NAME /bin/bash
            else
                echo "Starting container $CONTAINER_NAME..."
                docker start -ai $CONTAINER_NAME
            fi
        else
            echo "Container $CONTAINER_NAME does not exist. Create it first."
            exit 1
        fi
        ;;
    remove)
        # 刪除容器
        if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER_NAME}$"; then
            docker rm -f $CONTAINER_NAME
            echo "Container $CONTAINER_NAME removed."
        else
            echo "Container $CONTAINER_NAME does not exist."
        fi
        ;;
    *)
        echo "Unknown action: $ACTION"
        exit 1
        ;;
esac

4、創(chuàng)建容器

  1. 例如現(xiàn)在要開發(fā)t527,執(zhí)行如下腳本為t527創(chuàng)建一個獨立的容器:
# ./sdk_docker.sh create <chip> <sdk_path>
# <chip> : 芯片名稱,用于構建容器名稱
# <sdk_path> : sdk在宿主機的絕對路徑
sudo ./sdk_docker.sh create t527 /mnt/allwinner/t527

創(chuàng)建成功后會自動進入容器,容器中的sdk路徑和宿主機的一致。ctrl+d可以退出容器:

  1. 重新進入容器:
# ./sdk_docker.sh enter <chip>
sudo ./sdk_docker.sh enter t527
  1. 刪除容器
# ./sdk_docker.sh remove <chip>
sudo ./sdk_docker.sh remove t527

之后就可以在獨立的容器里安裝相關的編譯環(huán)境。各個平臺之間互不干擾。

到此這篇關于使用docker搭建嵌入式Linux開發(fā)環(huán)境的文章就介紹到這了,更多相關docker搭建嵌入式Linux內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在Ubuntu上使用Docker部署DeepSeek的詳細步驟

    在Ubuntu上使用Docker部署DeepSeek的詳細步驟

    docker是容器化技術的代表,它能夠將應用程序及其依賴項打包成一個獨立的容器,在 DeepSeek 部署中,使用 docker 可以確保 deepseek - r1 在不同環(huán)境中具有一致的運行狀態(tài),本文給大家介紹了在Ubuntu上使用Docker部署DeepSeek的詳細步驟,需要的朋友可以參考下
    2025-02-02
  • docker mysql啟動時執(zhí)行初始化sql

    docker mysql啟動時執(zhí)行初始化sql

    這篇文章主要介紹了docker mysql啟動時執(zhí)行初始化sql問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • Docker如何更換鏡像源提高拉取速度

    Docker如何更換鏡像源提高拉取速度

    在國內,由于網(wǎng)絡政策和限制,直接訪問DockerHub速度很慢,尤其是在拉取大型鏡像時,為了解決這個問題,常用的方法就是更換鏡像源,本文將詳細介紹如何更換Docker鏡像源,并提供當前可用的鏡像源,感興趣的朋友一起看看吧
    2025-04-04
  • windows10下安裝docker且使用wsl2安裝雙系統(tǒng)并構建最小jre鏡像和應用鏡像

    windows10下安裝docker且使用wsl2安裝雙系統(tǒng)并構建最小jre鏡像和應用鏡像

    這篇文章主要給大家介紹了windows10下安裝docker且使用wsl2安裝雙系統(tǒng)并構建最小jre鏡像和應用鏡像的流程步驟,文中有詳細的圖文介紹,需要的朋友可以參考下
    2023-08-08
  • Docker查詢掛載的目錄的幾種實用方法

    Docker查詢掛載的目錄的幾種實用方法

    要查詢 Docker 容器的掛載目錄,最核心、最準確的方法是使用 docker inspect 命令,下面為你介紹幾種從簡到繁的實用方法,需要的朋友可以參考下
    2026-05-05
  • 使用Docker遷移服務到離線服務器的過程

    使用Docker遷移服務到離線服務器的過程

    最近遇到的這個場景,需要把之前開發(fā)的一套系統(tǒng)遷移到一個離線的服務器上,這個服務器有點麻煩,接入VPN后通過堡壘機才能訪問,速度也很慢,遇到不少坑,本文記錄一下遷移過程,需要的朋友可以參考下
    2023-06-06
  • Docker中查看kkFileView版本的五種實用方法全解析

    Docker中查看kkFileView版本的五種實用方法全解析

    本文給大家介紹在Docker環(huán)境中查看kkFileView服務版本的五種方法,包括進入容器查看、解析日志文件、檢查容器內文件、利用dockerinspect命令和查詢API,每種方法的步驟和適用場景都有詳細說明,幫助用戶快速準確地獲取版本信息,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • docker+mongodb設置數(shù)據(jù)庫的賬號和密碼的實現(xiàn)步驟

    docker+mongodb設置數(shù)據(jù)庫的賬號和密碼的實現(xiàn)步驟

    本文主要介紹了docker+mongodb設置數(shù)據(jù)庫的賬號和密碼的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • docker目錄掛載的新語法小結

    docker目錄掛載的新語法小結

    本文主要介紹了docker目錄掛載的新語法小結,詳細的介紹了兩種掛載目錄的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Docker數(shù)據(jù)卷持久化存儲的實現(xiàn)

    Docker數(shù)據(jù)卷持久化存儲的實現(xiàn)

    Docker的數(shù)據(jù)卷機制通過抽象的存儲層設計,完美解決了容器生命周期與數(shù)據(jù)生命周期解耦的問題,下面就來介紹一下Docker數(shù)據(jù)卷持久化存儲的實現(xiàn),感興趣的可以了解一下
    2025-09-09

最新評論

东源县| 琼结县| 聊城市| 吴堡县| 加查县| 商洛市| 台中市| 宿州市| 辉县市| 姚安县| 山西省| 山西省| 姚安县| 苏州市| 寻甸| 宣化县| 商洛市| 霞浦县| 柘城县| 扎兰屯市| 仁布县| 沂南县| 宜章县| 林芝县| 沧州市| 罗定市| 满洲里市| 化州市| 白玉县| 元谋县| 辽中县| 潜江市| 巴塘县| 周至县| 化州市| 连平县| 得荣县| 南充市| 福清市| 禹城市| 鹤岗市|