0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在AM335X平臺上運行ubuntu系統(tǒng)和docker容器

星星科技指導(dǎo)員 ? 來源:TI ? 作者:TI ? 2023-04-04 09:50 ? 次閱讀

Docker 最初是 dotCloud 公司創(chuàng)始人 Solomon Hykes 在法國期間發(fā)起的一個公司內(nèi)部項目,它是基于 dotCloud 公司多年云服務(wù)技術(shù)的一次革新,并于 2013 年 3 月以 Apache 2.0 授權(quán)協(xié)議開源,主要項目代碼在 GitHub 上進(jìn)行維護(hù)。Docker 項目后來還加入了 Linux 基金會,并成立推動 開放容器聯(lián)盟(OCI)。
Docker 自開源后受到廣泛的關(guān)注和討論,至今其 GitHub 項目已經(jīng)超過 4 萬 6 千個星標(biāo)和一萬多個 fork。甚至由于 Docker 項目的火爆,在 2013 年底,dotCloud 公司決定改名為 Docker。Docker 最初是在 Ubuntu 12.04 上開發(fā)實現(xiàn)的;Red Hat 則從 RHEL 6.5 開始對 Docker 進(jìn)行支持;Google 也在其 PaaS 產(chǎn)品中廣泛應(yīng)用 Docker。
Docker 使用 Google 公司推出的 Go 語言 進(jìn)行開發(fā)實現(xiàn),基于 Linux 內(nèi)核的 cgroup,namespace,以及 AUFS 類的 Union FS 等技術(shù),對進(jìn)程進(jìn)行封裝隔離,屬于 操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進(jìn)程獨立于宿主和其它的隔離的進(jìn)程,因此也稱其為容器。最初實現(xiàn)是基于 LXC,從 0.7 版本以后開始去除 LXC,轉(zhuǎn)而使用自行開發(fā)的 libcontainer,從 1.11 開始,則進(jìn)一步演進(jìn)為使用 runC 和 containerd。
Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡化了容器的創(chuàng)建和維護(hù)。使得 Docker 技術(shù)比虛擬機(jī)技術(shù)更為輕便、快捷。
下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處。傳統(tǒng)虛擬機(jī)技術(shù)是虛擬出一套硬件后,在其上運行一個完整操作系統(tǒng),在該系統(tǒng)上再運行所需應(yīng)用進(jìn)程;而容器內(nèi)的應(yīng)用進(jìn)程直接運行于宿主的內(nèi)核,容器內(nèi)沒有自己的內(nèi)核,而且也沒有進(jìn)行硬件虛擬。因此容器要比傳統(tǒng)虛擬機(jī)更為輕便。

本文介紹如何在BBB板子上把docker跑起來。

實施步驟:

一, BBB安裝ubuntu。(本文的操作主機(jī)是一臺ubuntu 1604的PC機(jī)。)

Ubuntu安裝到BBB的參考鏈接:

https://elinux.org/BeagleBoardUbuntu#Ubuntu_.2818.04.29

操作步驟如下,首先

wget https://rcn-ee.com/rootfs/2018-06-08/elinux/ubuntu-18.04-console-armhf-2018-06-08.tar.xz

然后驗證

sha256sum ubuntu-18.04-console-armhf-2018-06-08.tar.xz

da34b9ade435014a1ee232e3cda033688048f713b5108de3f77d843958dd0791 ubuntu-18.04-console-armhf-2018-06-08.tar.xz

解壓

tar xf ubuntu-18.04-console-armhf-2018-06-08.tar.xz

cd ubuntu-18.04-console-armhf-2018-06-08

插入SD卡到LINUX機(jī)器,ls /dev/sd*, 發(fā)現(xiàn)新插入的sd卡是/dev/sdc

把ubuntu安裝到SD卡

sudo ./setup_sdcard.sh --mmc /dev/sdc --dtb beaglebone

安裝后,拔下SD卡,插入BBB,上電后發(fā)現(xiàn)板子啟動有問題,卡死在這個地方

poYBAGQrglWAEI-7AABCsMSxyT8952.png

經(jīng)分析認(rèn)為是MLO和UBOOT有問題。重新下載了老版本的MLO UBOOT.在如下鏈接:

https://rcn-ee.com/repos/bootloader/am335x_boneblack/

下載MLO-am335x_boneblack-v2017.11-rc4-r4和u-boot-am335x_boneblack-v2017.11-rc4-r4.img

分別通過命令

sudo dd if=MLO-am335x_boneblack-v2017.11-rc4-r4 of=/dev/sdc count=1 seek=1 bs=128k

sudo dd if=u-boot-am335x_boneblack-v2017.11-rc4-r4.img of=/dev/sdc count=2 seek=1 bs=384k

把MLO和UBOOT寫入SD卡,重新上電BBB

pYYBAGQrglWAQPEAAABlaRiM4N4833.png

啟動成功,用戶名ubuntu密碼temppwd。

二,安裝運行docker

如果電腦需要通過代理才能訪問外網(wǎng),apt-get需要代理服務(wù)器支持

sudo apt-get -o Acquire::http::proxy="http://wwwgate.ti.com:80/" update

sudo apt-get -o Acquire::http::proxy="http://wwwgate.ti.com:80/" install docker.io

配置docker代理

在bbb板子上,sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

添加如下

poYBAGQrglaAWDAKAAAKucqX_dw598.png

然后輸入命令,重啟docker

sudo systemctl daemon-reload

sudo systemctl restart docker

systemctl show --property=Environment docker

至此docker代理配置完畢。

三,測試docker

先跑個hello-world, docker先檢查本地有沒有hello-world,如果沒有就到服務(wù)器上下載。

pYYBAGQrglaAC_vRAACSwTVoDB8941.png

再跑個ubuntu bash,可以看到控制終端切換掉了。

poYBAGQrgleAEg9JAAB7ZOjAPX0902.png

同時跑一個centos,一個ubuntu,3個nginx server,總共5個container:

pYYBAGQrgliAfmiDAAFAmbCcs64874.png

Docker是一個很輕量級的應(yīng)用,docker container占有系統(tǒng)資源很少,5個container再加上后臺的服務(wù),加在一起CPU占有率<5%。注:AM335X跑1GHZ主頻。

poYBAGQrgliAH-GQAAKnuOtf8EA830.png

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208724
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4723

    瀏覽量

    68240
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    905

    瀏覽量

    28022
收藏 人收藏

    評論

    相關(guān)推薦

    AM335X平臺上運行ubuntu系統(tǒng)docker容器的方法

    以 Apache 2.0 授權(quán)協(xié)議開源,主要項目代碼 GitHub 上進(jìn)行維護(hù)。Docker 項目后來還加入了 Linux 基金會,并成立推動 開放容器聯(lián)盟(OCI)。 Docker
    發(fā)表于 11-11 06:12

    am335x的芯片資料(中文手冊免費下載)

    AM335X是TI(德州儀器)基于 ARM Cortex-A8內(nèi)核的AM335X微處理器圖像、圖形處理、外設(shè)和諸如 EtherCAT 和 PROFIBUS 的工業(yè)接口選項方面進(jìn)行了增強(qiáng)。中文版
    發(fā)表于 12-29 10:51 ?455次下載

    AM335x Sitara? Processors Technical Reference Manual

    AM335x Sitara? Processors Technical Reference Manual AM335x系列處理器的技術(shù)參考手冊
    發(fā)表于 12-29 11:11 ?87次下載

    AM335x板卡穩(wěn)定性的應(yīng)用方案

    最近支持AM335x 的過程中,不時發(fā)現(xiàn)有些朋友的AM335x 系統(tǒng)板出現(xiàn)各種類似于穩(wěn)定性的問題:系統(tǒng)
    發(fā)表于 09-18 15:49 ?6次下載
    <b class='flag-5'>AM335x</b>板卡穩(wěn)定性的應(yīng)用方案

    TI 培訓(xùn) 《TI AM335xHMI系統(tǒng)中的應(yīng)用》課程資料

    TI 培訓(xùn) 《TI AM335xHMI系統(tǒng)中的應(yīng)用》課程資料
    發(fā)表于 10-19 10:14 ?3次下載
    TI 培訓(xùn) 《TI <b class='flag-5'>AM335x</b><b class='flag-5'>在</b>HMI<b class='flag-5'>系統(tǒng)</b>中的應(yīng)用》課程資料

    AM335X功耗總結(jié)

    本文討論了用于AM335X ARM?皮質(zhì)-A8微處理器(MPU)的公共系統(tǒng)應(yīng)用使用場景的功耗。
    發(fā)表于 05-17 16:06 ?27次下載

    AM335x WINCE用戶手冊.pdf

    AM335x 支持Wince系統(tǒng)!!!功能定制手冊?。?!
    發(fā)表于 05-24 10:01 ?23次下載

    AM335x器件概述 AM335x處理器六大優(yōu)點

    am335x處理器,最高運行1GHz,郵票孔設(shè)計,超小體積,EtherCat.PROFINET工業(yè)總線,支持Linux3.14/Wince7.0系統(tǒng)。
    的頭像 發(fā)表于 10-21 09:57 ?1.6w次閱讀
    <b class='flag-5'>AM335x</b>器件概述 <b class='flag-5'>AM335x</b>處理器六大優(yōu)點

    如何在AM335X平臺上運行ubuntu系統(tǒng)docker容器

    Docker 項目的火爆, 2013 年底,dotCloud 公司決定改名為 DockerDocker 最初是
    的頭像 發(fā)表于 12-29 14:48 ?1298次閱讀
    如何在<b class='flag-5'>AM335X</b><b class='flag-5'>平臺上</b><b class='flag-5'>運行</b><b class='flag-5'>ubuntu</b><b class='flag-5'>系統(tǒng)</b>和<b class='flag-5'>docker</b><b class='flag-5'>容器</b>

    AM5708平臺移植ubuntu系統(tǒng)docker容器

    AM5708平臺移植ubuntu系統(tǒng)docker容器
    發(fā)表于 11-01 08:26 ?2次下載
    <b class='flag-5'>AM</b>5708<b class='flag-5'>平臺</b>移植<b class='flag-5'>ubuntu</b><b class='flag-5'>系統(tǒng)</b>和<b class='flag-5'>docker</b><b class='flag-5'>容器</b>

    AM335X平臺上運行ubuntu系統(tǒng)docker容器

    AM335X平臺上運行ubuntu系統(tǒng)docker
    發(fā)表于 11-01 08:26 ?1次下載
    <b class='flag-5'>在</b><b class='flag-5'>AM335X</b><b class='flag-5'>平臺上</b><b class='flag-5'>運行</b><b class='flag-5'>ubuntu</b><b class='flag-5'>系統(tǒng)</b>和<b class='flag-5'>docker</b><b class='flag-5'>容器</b>

    Docker容器部署-以TI AM335x平臺為例

    ,相互之間不會有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)品開發(fā)時間。Docker容器適用于TIA
    的頭像 發(fā)表于 12-20 15:16 ?1036次閱讀
    <b class='flag-5'>Docker</b><b class='flag-5'>容器</b>部署-以TI <b class='flag-5'>AM335x</b><b class='flag-5'>平臺</b>為例

    【正式發(fā)售】TI AM335x升級平臺-AM62x,強(qiáng)勢來襲!主頻1.4GHz

    【正式發(fā)售】TI AM335x升級平臺-AM62x,強(qiáng)勢來襲!主頻1.4GHz
    的頭像 發(fā)表于 05-04 09:24 ?806次閱讀
    【正式發(fā)售】TI <b class='flag-5'>AM335x</b>升級<b class='flag-5'>平臺</b>-<b class='flag-5'>AM62x</b>,強(qiáng)勢來襲!主頻1.4GHz

    AM335x硬件設(shè)計指南

    電子發(fā)燒友網(wǎng)站提供《AM335x硬件設(shè)計指南.pdf》資料免費下載
    發(fā)表于 09-19 11:05 ?0次下載
    <b class='flag-5'>AM335x</b>硬件設(shè)計指南

    AM335x功耗估算工具

    電子發(fā)燒友網(wǎng)站提供《AM335x功耗估算工具.pdf》資料免費下載
    發(fā)表于 10-12 11:46 ?0次下載
    <b class='flag-5'>AM335x</b>功耗估算工具