1. Docker介紹
Docker是一個(gè)使用最廣泛的開(kāi)源容器引擎,為每一個(gè)應(yīng)用提供完全隔離的運(yùn)行環(huán)境,用戶(hù)可以在環(huán)境中配置不同的工具軟件,并且不同環(huán)境之間相互不影響,當(dāng)前已經(jīng)在EASY-EAI-Nano完成適配,用戶(hù)可以隨時(shí)隨地進(jìn)行部署。Dockerfile、Image(鏡像)和Container(容器)為Docker中的三個(gè)重要概念。通過(guò)Image我們可以創(chuàng)建許多個(gè)Container,通過(guò)Dockerfile這個(gè)自動(dòng)化腳本可以創(chuàng)建Image。
Dockerfile:中文名叫鏡像描述文件,是一個(gè)包含用于組合鏡像目錄的文本文檔,也可以叫“腳本”。用戶(hù)通過(guò)docker build命令,讀取Dockerfile中的指令安裝步驟自動(dòng)生成鏡像。
Image:是一個(gè)文件系統(tǒng),提供了容器運(yùn)行時(shí)需要用到的文件和參數(shù)配置。相當(dāng)于平時(shí)在使用某個(gè)軟件時(shí)需要下載的安裝包,也相當(dāng)于安裝操作系統(tǒng)時(shí)需要用到 ISO 文件。
Container:是一種打包軟件的方式,因?yàn)樗灰蕾?lài)于環(huán)境。 應(yīng)用程序的所有代碼、庫(kù)和依賴(lài)配置項(xiàng)都打包到 容器 中。 與虛擬機(jī)不同,容器不是創(chuàng)建一個(gè)完整的虛擬操作系統(tǒng),而是允許應(yīng)用程序使用與它們正在運(yùn)行的系統(tǒng)相同的 Linux 內(nèi)核,并且只需要應(yīng)用程序與尚未在主機(jī)上運(yùn)行的東西一起交付。
2. 部署Docker環(huán)境
2.1 Docker安裝
執(zhí)行adb shell命令,進(jìn)入板卡運(yùn)行環(huán)境。
adb shell
進(jìn)入板卡后,更新軟件包數(shù)據(jù)庫(kù)(nano要能訪問(wèn)外網(wǎng)),如下所示:
apt-get update
安裝Docker(安裝的時(shí)間可能有一點(diǎn)長(zhǎng),請(qǐng)耐心等待)
apt-get install docker.io
查看Docker是否安裝成功
systemctl enable docker docker version
2.2 獲取鏡像
用戶(hù)可根據(jù)自己的需求獲取鏡像,一種是使用他人打包好,并通過(guò)網(wǎng)絡(luò)(主要是docker官方的docker hub和一些類(lèi)似的鏡像托管網(wǎng)站)進(jìn)行分享的鏡像,獲取這種鏡像的命令如下所示:
docker pull ubuntu
此方法未指定標(biāo)簽,Docker Engine會(huì)使用 :latest 作為默認(rèn)標(biāo)簽拉取鏡像。
另一種則是在本地將鏡像保存為本地文件,直接使用生成的文件進(jìn)行共享。
查看本機(jī)中已經(jīng)保存(下載)的鏡像信息列表
docker images
2.3 運(yùn)行Docker容器及基本操作
我們有兩種方法啟動(dòng)一個(gè)容器。方法一: 使用Docker 鏡像的 TAG (標(biāo)簽:指的是一個(gè)特定的鏡像快照) 啟動(dòng);方法二: 使用 ImageID(鏡像 ID: 鏡像對(duì)應(yīng)的唯一識(shí)別碼) 啟動(dòng)。以下演示將如何【使用 Docker 鏡像的 TAG】啟動(dòng)容器:
docker run -t -i ubuntu:latest /bin/bash
-t:在 Ubuntu 容器內(nèi)分配一個(gè)偽終端。
-i:通過(guò)從容器獲取一個(gè)標(biāo)準(zhǔn)輸入(STDIN),允許我們創(chuàng)建一個(gè)可交互的連接。
ubuntu:latest:標(biāo)簽為 latest 的 Ubuntu Docker 鏡像。
/bin/bash:新容器的 BASH shell。這個(gè)是可選項(xiàng)。如果你不加 shell 的話,會(huì)分配默認(rèn)的 shell 給容器。
啟動(dòng)容器后,會(huì)自動(dòng)進(jìn)入容器的 shell(命令行):
按 CTRL+P 然后 CTRL+Q 可以從當(dāng)前容器中脫離回到主機(jī)系統(tǒng)的終端。注意:我們只是從容器中脫離,但是沒(méi)有讓容器停止。它仍然在后臺(tái)中運(yùn)行。、
在Docker 主機(jī)的終端,運(yùn)行下面的命令來(lái)找到容器的名字和ID
docker ps -a
查找到ID后我們就可以對(duì)容器進(jìn)行相關(guān)操作了。
暫停運(yùn)行中的容器
docker pause 容器ID號(hào)
啟動(dòng)容器
docker start 容器名字
移除容器
首先需要終止(關(guān)閉)運(yùn)行中的容器
docker stop 容器ID號(hào)
如果不再需要所有的容器,一個(gè)一個(gè)的刪除多個(gè)容器會(huì)是一項(xiàng)繁瑣的工作。所以,我們可以把所有停止的容器一次性刪掉,運(yùn)行:把所有停止的容器一次性刪掉
docker container prune
刪除后我們docker ps -a查看所有容器顯示已經(jīng)為空
刪除docker鏡像
docker rmi 鏡像ID
審核編輯 黃宇
-
板卡
+關(guān)注
關(guān)注
3文章
129瀏覽量
17082 -
Docker
+關(guān)注
關(guān)注
0文章
503瀏覽量
12539 -
rv1126
+關(guān)注
關(guān)注
0文章
106瀏覽量
3259
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)人臉識(shí)別方案

基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)駕駛員行為檢測(cè)方案

基于RV1126開(kāi)發(fā)板實(shí)現(xiàn)人員檢測(cè)方案

RV1126 yolov8訓(xùn)練部署教程

基于RV1126開(kāi)發(fā)板的resnet50訓(xùn)練部署教程

基于RV1126開(kāi)發(fā)板的音頻硬件電路設(shè)計(jì)

基于RV1126開(kāi)發(fā)板網(wǎng)絡(luò)配置方法

RV1126 實(shí)現(xiàn)人臉檢測(cè)方案

評(píng)論