嵌入式開發中Docker客戶端常用命令分享

ningmengzier發表於2020-12-15

學習Docker,首先需要了解Docker基本概念,我們在以前的文章中介紹過docker的基本原理和部署作業系統。

今天講下嵌入式開發中docker客戶端常用的命令,開始進入“動手”階段(也就是敲Docker命令)。Docker命令較多,這裡筆者總結下常用的Docker命令,方便小夥伴們查閱。

1、客戶端常用命令列表

以下為Docker 客戶端常用命令列表,可以透過docker COMMAND --help來檢視這些命令的具體用法。

attach:依附到一個正在執行的容器中;

build :從一個Dockerfile建立一個映象;

commit:從一個容器的修改中建立一個新的映象;

cp:在容器和本地宿主系統之間複製檔案中;

create:建立一個新容器,但並不執行它;

diff:檢查一個容器內檔案系統的修改,包括修改和增加;

events:從服務端獲取實時的事件;

exec :在執行的容器內執行命令;

export:匯出容器內容為一個tar包;

history:顯示一個映象的歷史資訊;

images:列出存在的映象;

import:匯入一個檔案(典型為tar包)路徑或目錄來建立一個本地映象;

info:顯示一些相關的系統資訊;

inspect:顯示一個容器的具體配置資訊;

kill:關閉一個執行中的容器 (包括程式和所有相關資源);

load :從一個tar包中載入一個映象;

login :註冊或登入到一個Docker的倉庫伺服器;

logout :從Docker的倉庫伺服器登出;

logs:獲取容器的log資訊;

network:管理 Docker 的網路,包括檢視、建立、刪除、掛載、解除安裝等;

node:管理 swarm 叢集中的節點,包括檢視、更新、刪除、提升/取消管理節點等;

pause:暫停一個容器中的所有程式;

port :查詢一個 nat 到一個私有網口的公共口;

ps :列出主機上的容器;

pull :從一個Docker的倉庫伺服器下拉一個映象或倉庫;

push :將一個映象或者倉庫推送到一個 Docker 的註冊伺服器;

rename:重新命名一個容器;

restart:重啟一個執行中的容器;

rm :刪除給定的若干個容器;

rmi :刪除給定的若干個映象;

run :建立一個新容器,並在其中執行給定命令;

save :儲存一個映象為 tar 包檔案;

search:在 Docker index 中搜尋一個映象;

service:管理 Docker 所啟動的應用服務,包括建立、更新、刪除等;

start :啟動一個容器;

stats :輸出(一個或多個)容器的資源使用統計資訊;

stop :終止一個執行中的容器;

swarm:管理 Docker swarm 叢集,包括建立、加入、退出、更新等;

tag:為一個映象打標籤;

top:檢視一個容器中的正在執行的程式資訊;

unpause:將一個容器內所有的程式從暫停狀態中恢復;

update:更新指定的若干容器的配置資訊;

version:輸出 Docker 的版本資訊;

volume:管理 Docker volume,包括檢視、建立、刪除等;

wait :阻塞直到一個容器終止,然後輸出它的退出符。

2、常用操作及命令

 常用映象操作 

列出映象

docker images

刪除映象

docker rmi [-f] <IMAGE ID>或docker image rm [-f] <IMAGE ID>

其中-f代表強制刪除,用在多個容器對應一個映象時

給一個映象打標籤

docker tag

 常用容器操作 

列出主機上的容器

docker container ls [-a]

以某映象為基礎啟動並執行容器

docker run -itd --privileged=true --cap-add=SYS_ADMIN --mount type=bind,src=/data/home,target=/root/workspace -p 30000:22 <IMAGE ID> bin/bash

引數說明:

-i表示互動式,讓容器的標準輸入保持開啟

-t表示讓docker分配一個偽終端並繫結到容器的標準輸入上

-d表示容器啟動會進入後臺執行

--privileged=true表示允許容器中執行一些特權命令

--cap-add=SYS_ADMIN表示提供給容器更大的管理許可權

-v表示繫結掛載目錄

-p表示指定主機埠和容器內部埠對映關係

bin/bash表示因為docker後臺必須執行一個程式,否則容器就會退出。


重新命名容器

docker rename old_name new_name進入後臺的容器(用此方法進入後,執行exit時不會導致容器的停止,還有個命令attach也可以進入後臺容器,但是exit會導致容器停止)

docker exec -it container_name bin/bash

終止容器

docker container stop

重新啟動終止狀態的容器

docker container start

終止一個執行態的容器然後重啟

docker container restart

刪除終止態容器

docker container rm container_name

刪除執行態容器

docker container rm -f container_name

清理所有終止態容器

docker container prune

檢視容器的資訊

docker inspect container_name

檢視容器對應的主機埠:

#docker port container_name或#docker port container_name <PORT_NUMBER>

3、基於一個新的基礎映象新建容器

1.查詢官方倉庫中的映象

docker search ubuntu
可以看到返回了很多包含關鍵字的映象,其中包括映象名字、描述、收藏數(表示該映象的受關注程度)、是否官方建立、是否自動建立
2.下載映象到本地
docker pull ubuntu:18.04
3.檢視下載的映象
docker images
4.載入映象到容器並執行
docker run -itd --privileged=true --cap-add=SYS_ADMIN --mount type=bind,src=/data/home,target=/root/workspace -p 30000:22 <IMAGE ID> bin/bash
5.推送映象到遠端倉庫
docker push

4、容器的儲存及開啟

容器匯出檔案再匯入檔案為本地映象,會丟失歷史和後設資料,無法回滾到以前的層,匯出的包稍小。

1.先獲取容器id

docker container ls

2.匯出容器內容為一個tar包

docker export <CONTAINER ID> > /home/export.tar

3.匯入一個檔案(典型為tar包)路徑或目錄來建立一個本地映象,可以重新指定映象名字。

cat xxx.tar | docker import - new_name:new_tag

或:

從指定URL或某個目錄匯入容器快照:

docker import http://example.com/exampleimage.tgz example/imagerepo

4.載入映象到容器,並啟動容器

docker run

5、映象的儲存及開啟

映象匯出檔案再匯入檔案為本地映象,不丟失歷史和層,可以層回滾

1.檢視映象id

docker images

2.匯出映象內容為一個tar包

docker save <IMAGE NAME> > /home/save.tar

3.從一個tar包中載入一個映象,不可以重新指定映象名字

docker load < /home/save.tar

4.檢視匯入的映象id

docker images

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2742396/,如需轉載,請註明出處,否則將追究法律責任。

相關文章