docker 五 簡單使用容器

簡單地說,容器是鏡像的一個運行實例,所不一樣的是,它有額外的可寫文件層。node

若是認爲虛擬機是模擬運行的一整套操做系統(提供了運行態環境和其餘系統環境)和跑在上面的應用。那麼docker 容器就是地理運行的一個或一組應用,以及它們的必需運行環境。docker

1.1 建立docker 容器 centos

新建容器 能夠使用 docker create 命令新建一個容器,例如:bash

[root@node1 ~]# docker create -it centos:centos6 /bin/bashide

 *其中 -t 表示 進入終端 -i 表示容器的標準輸入保持打開。工具

 wKiom1U9rlKCOzdKAAEjsCM1C0A105.jpg

使用 docker create 命令新建的容器處於中止的狀態,能夠使用docker start 命令來啓動它spa

Docker start ID操作系統

wKiom1U9rl7zI9hwAAFoWESkGX4874.jpg 

新建並啓動容器3d

啓動容器有二種方式,一種基於鏡像新建一個容器並啓動,另一個是將在終止的狀態的容器從新啓動。所須要的命令主要爲 docker run,等價於先執行 docker create命令 在執行 docker restart 命令rest

docker run -t -i centos:centos6 /bin/bash

wKioL1U9r82CfsBFAABlxcjsohg392.jpg 

當利用docker run 來建立並啓動容器時,docker 在後臺運行的標準操做包括:

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

2.利用鏡像建立並啓動一個容器。

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

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

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

6.執行用戶知道的應用程序。

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

 wKiom1U9rn3QksflAAHf_pKJr-8826.jpg

用 exit 或者ctrl+d 則退出容器 若是容器退出 則關閉容器,能夠使用 docker start 重啓裏面的服務 不會開啓。

守護狀態運行

更多的時候,須要讓docker容器在後臺以守護態形式運行。用戶能夠經過添加-d參數來添加

[root@node1 ~]# docker run -d centos:centos6 /bin/bash  -c "while true;do echo hello world;sleep 1; done"

 

wKiom1U9rpDwLKqhAAI6muUIhiQ177.jpg 

要獲取容器的輸出信息,能夠經過docker logs 命令

docker logs  容器id

終止容器

能夠使用 docker stop 來終止一個運行中的容器,

[root@node1 ~]# docker stop d130a7e46842 


wKioL1U9sAfDNz5wAAFK3vtZarE917.jpg 

處於終止狀態的容器,能夠經過docker start 命令來從新啓動;

[root@node1 ~]# docker start d130a7e46842

wKioL1U9sCCin2XVAAEFNTyvlaM956.jpg 

還能夠使用 docker restart 命令將一個運行態的容器終止,而後在從新啓動它

[root@node1 ~]# docker restart d130a7e46842

 wKiom1U9rtCichTRAAEN46srTWY299.jpg

進入容器

Docker 1.3版本起,提供了一個更加方便的工具exec,能夠直接在容器內運行命令。

docker exec -ti d130a7e46842 /bin/bash

 wKioL1U9sEyCfKfCAAEnlNo6yAc049.jpg

exit 後 不關閉容器 而是在後臺繼續運行

 

刪除容器

能夠使用docker rm命令刪除處於終止狀態的容器,命令格式爲 docker rm ,支持的選項包括

-f 強行終止並刪除一個運行中的容器。

-l了刪除容器的鏈接,但保留容器。

-v 刪除容器掛載的數據卷、

[root@node1 ~]# docker rm d130a7e46842

 

wKioL1U9sG2x4LFFAAEdQRuqH5w414.jpg 

若是要刪除一個運行中的容器,能夠添加-f參數

[root@node1 ~]# docker rm -f e41acf350912

 wKiom1U9rx6BQewQAAFhHz1TLm4313.jpg

導入和導出容器 (重點)

導出容器是指導出一個已經建立的容器到一個文件,無論此時這個容器是否處於運行狀態,能夠使用docker export命令

[root@node1 docker]# docker export cec2eea2f8b6 > test1.tar 

docker export (容器的id) 文件.tar

能夠講這些文件傳輸到其餘機器上,在其餘機器上經過導入命令實現容器的遷移。

導入容器

導出的文件能夠使用 docker import 命令導入,成爲鏡像

[root@node1 docker]# cat test1.tar | docker import - test/centos:v1

                             Docker import -(空格) 名字

[root@node1 docker]# docker p_w_picpaths

 

 wKiom1U9rzyyATUHAAFEzWuZO1k037.jpg

相關文章
相關標籤/搜索