Docker 簡單相關知識 自用

實用網站:

https://segmentfault.com/a/1190000009544565

https://www.jianshu.com/p/0231568ab335

https://yeasy.gitbooks.io/docker_practice/

https://docs.docker.com/engine/reference/commandline/run/

 

基本概念

鏡像(Image):一個特殊的文件系統,提供容器運行時所需的程序/庫/資源/配置等文件。鏡像不包含任何動態數據,內容在創建之後也不會被改變。

分層存儲:鏡像構建時,採用分層構建,前一層時後一層的基礎。每一層構建完成之後就不會再發生改變,後一層上的任何更改只會發生在自己這一層。比如,刪除前一層文件的操作,實際不是真的刪除前一層的文件,而是僅在當前層標記爲該文件已刪除。在最終容器運行的時候,雖然不會看到這個文件,但是實際上該文件會一直跟隨鏡像。

容器(Container):鏡像和容器的關係就像是類與實例之間的關係。容器是鏡像運行時的實體,實質是進程,運行於屬於自己的獨立的命名空間(是在自己獨立的隔離環境中)。每一個容器在運行時,都以鏡像爲基礎層,在其上建立一個當前容器的存儲層。該存儲層與容器的生存週期相同,一般不往其中寫任何數據(數據保存至數據卷中)。

倉庫(Repository):每個倉庫可以包含多個標籤,一個標籤對應一個鏡像。默認標籤爲latest。通常一個倉庫包含同一個軟件的不同版本的鏡像。可以通過 <倉庫名>:<標籤> 的格式來指定具體是這個軟件哪個版本的鏡像。

使用鏡像

獲取鏡像

docker pull [option] NAME[:TAG|@DIGEST]

docker pull [option] [Docker Registry地址[:端口號]/]倉庫名[:標籤]

eg:docker pull daocloud.io/library/node   //從docker鏡像中心下載Node鏡像,不加標籤默認下載lasted

運行鏡像

docker run [options] IMAGE [COMMAND] [ARG...]

eg:docker run node

查看所有鏡像

docker image ls

查看鏡像/容器/數據卷所佔用的空間

docker system df

查看虛懸鏡像(dangling image)

docker image ls -f dangling=true

刪除所有虛懸鏡像

docker image prune

刪除本地鏡像

docker image rm [option] IMAGE [IMAGE ...]

進入容器

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

eg:docker exec -it nginx /bin/bash  //以交互式終端的方式進入容器

退出容器 exit

查看容器的存儲層變動

docker diff

保存容器及其存儲層構成新鏡像(慎用)

docker commit [選項] <容器ID或容器名> [倉庫名[:標籤]]

使用Dockerfile定製鏡像

https://yeasy.gitbooks.io/docker_practice/image/build.html

在Dockerfile文件所在的目錄執行 docker build -t 倉庫名:標籤 .

Dockerfile中常用命令

FROM 基礎鏡像

RUN 用來執行命令行命令

 

使用容器

新建容器並啓動

docker run [options] IMAGE [COMMAND] [ARG...]

options: -i 設置容器的標準輸入保持打開

                 -t 讓docker分配一個僞終端並綁定至容器的標準輸入上

                 -d 讓 Docker 在後臺運行而不是直接把執行命令的結果輸出在當前宿主機下

在僞終端利用ps或top命令查看docker進程信息

獲取容器的輸出信息

docker container logs

終止容器

docker container stop

啓動已終止的容器

docker container start

重啓容器

docker container restart

導出容器快照至本地文件

docker export CONTAINER_ID > FILE_NAME.tar

從本地導入容器快照至docker鏡像

cat FILE_NAME.tar | docker import - [path/]倉庫名:標籤

刪除容器

docker container rm 倉庫名

 

 

 

 

 

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章