1. 程式人生 > >跟我一起學docker(四)--容器的基本操作

跟我一起學docker(四)--容器的基本操作

mage test soft 概念 一起 終端 class 文件系統 caf

1.創建容器

Docker的容器十分輕量級,用戶可以隨時創建或刪除容器。

新建容器:docker create

Example:docker create –ti ubuntu

說明:使用docker create命令創建的容器處於停止狀態,可以使用docker start命令啟動它。

技術分享圖片

新增加了一個name等於test_create的,status等於create

技術分享圖片


新建並啟動容器:docker run

Example: docker run ubuntu/bin/echo “Hello World”

說明: 等價於先執行docker create命令,再執行docker start命令。

技術分享圖片

docker run 背後的故事:

1 檢查本地是否存在制定的鏡像,不存在就從公有倉庫下載。

2 利用本地鏡像創建並啟動一個容器。

3 分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層。

4 從宿主機配置的網橋接口橋接一個虛擬接口到容器中去。

5 從地址池配置一個IP地址給容器。

技術分享圖片

6 執行用戶的指定的用戶程序。

7 執行完畢後容器被終止。

技術分享圖片

技術分享圖片

一條簡單的命令:

docker run -i –t ubuntu/bin/bash

-t : 讓docker分配一個偽終端並綁定到容器的標準輸入上。

-i : 讓容器的標準輸入保持打開。

在交互模式下,用戶可以通過所創建的終端來輸入命令,exit命令退出容器。

退出後,容器自動處於終止狀態。

技術分享圖片

3秒前容器被退出了。

守護臺運行:

更多的時候,需要讓Docker容器運行在後臺以守護態(daemonized)形式運行。用戶可以通過

添加-d參數來實現。

Example:

docker run –d ubuntu/bin/sh -c “while true;do echo hello world;sleep 1;done”

補充:

查看日誌: docker logs

技術分享圖片

docker logs –f 動態的查看日誌,類似咱們查看tomcat的日誌一樣

2.終止容器

可以使用docker stop命令來終止一個運行中的容器。

docker stop

註意:

當容器中的應用終結時,容器也會自動停止。

查看終止的容器:docker ps -a

查看運行的容器:docker ps

重新啟動容器:docker start

技術分享圖片

3.進入容器

在使用-d參數時,容器啟動後會進入後臺,用戶無法看到容器中的信息。

docker exec

Exec可以直接在容器內部運行命令。

進入容器:

docker exec -i –t bash

技術分享圖片

run 運行一個容器後,進入容器的話,exit容器直接退出

exec進入容器後,exit容器不退出,仍在後臺運行

技術分享圖片

4.刪除容器

可以使用docker rm命令刪除終止狀態的容器。

技術分享圖片

如果刪除正在運行的容器,需要停止容器在進行刪除

技術分享圖片

不管容器是否運行,可以使用docker rm–f命令進行刪除。

技術分享圖片

技術分享圖片

5.導入和導出容器

導出容器是指導出一個已經創建的容器到一個文件,不管容器是否處於運行狀態。可以使用docker export命令。

docker export

Example:

Docker export test_id >test.tar

技術分享圖片

導出的文件又可以使用docker import命令導入,成為鏡像。

Example:

cat export.tar | docker import - liming/testimport:latest

技術分享圖片

導入容器生成鏡像,通過鏡像生成容器,查看容器裏面的內容

技術分享圖片


往期docker學習:

認識docker

核心概念和安裝

容器的常用操作


跟我一起學docker(四)--容器的基本操作