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

2021-09-11 14:47:06 字數 1999 閱讀 4644

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 背後的故事:

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

核心概念和安裝

容器的常用操作

跟我一起學攝影

咦 好巧!我也是攝影愛好者。咱們一起學習吧。或許你也有這樣的體驗,並茂的文章更能讓人快速進入學習狀態,更何況是攝影,必須有圖。下面是我彙總的資料,必須深入淺出,拒絕一切晦澀難懂。學習課本 1.佳能官網 能系統學習攝影知識,從入門 初級 中級 高階 高階。每個頁面講解乙個知識點,結合實際的拍攝效果,深...

跟我一起學python 跟我一起學人工智慧(一)

跟我一起學人工智慧 一 文 小步 系列第一講正式開課啦,課程全都是可以實操的乾貨,到後面ai演算法 python 可以結合做出乙個簡單的人工智慧應用 因本人也對ai領域涉足不久,如文章有不妥之處還請各位大神與我多多交流,此系列文章也屬於我學習ai過程中的總結,我也會做到盡量寫出只要是高中畢業就能看懂...

跟我一起學docker 七 網路

1 容器對外服務 當容器內執行一些網路應用,要讓外部訪問這些應用時,可以通過 p 或 p 引數來指定埠對映。使用 p 對映時,docker會隨機對映乙個49000 49900 的埠至容器內部開放的埠 docker run d p namemysql mysql 5.6 通過docker ps可以看到...