Docker $ 第三篇 :Docker容器的使用
一.Docker容器簡介
1.映象和容器的關係,就像面向物件的程式設計中的類和例項,映象是靜態的,容器是映象執行後產生的,容器1可被建立,啟動,停止,刪除。 2.容器是一個獨立的空間,就下宿主下的作業系統,有自己的檔案系統,網路配置,程序,由於容器的隔離性,在容器下執行的應用比在宿主下更加安全。 3.容器和映象一樣都是分層儲存,容器以映象為基礎執行,執行時建立一個當前容器的儲存層,儲存層的生命週期和容器一樣,容器消亡,儲存層也消亡,保存於儲存層的資訊隨著容器消亡而消失,所以,檔案的寫入操作,應該使用資料卷(Volume),資料卷的生存週期獨立於容器,容器消亡,資料卷不會消亡,資料也不會丟失。
二.Docker容器命令
-
執行容器 # docker run
功能
建立一個新的容器並執行一個命令
語法
# docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
引數
-d : 後臺執行容器,返回容器id -t : 讓docker分配一個偽終端,繫結到容器標準輸入上,通常與 -i 同時使用。 -it : -i:互動式操作,-t:終端,進入bash執行命令檢視返回結果,需要互動式終端。 -i : 以互動模式執行容器,讓容器的標準輸入保持開啟,通常與 -t 同時使用。 –rm : 容器退出後刪除容器(避免浪費空間),可選,docker rm conName 刪除容器。 –name : 命名 -p : 暴露給外部的埠,主機(宿主)埠:容器埠 bash : 映象後的命令,shell互動模式。
例項
# docker run --rm -d -p 80:80 --name webserver nginx
# docker exec -it webserver bash
-
進入容器# docker attach
功能
連線到正在執行中的容器,進行命令操作。
語法
docker attach [OPTIONS] CONTAINER
引數
–sig-proxy=false :CTRL-C不會關閉容器
例項
# docker attach --sig-proxy=false b11
-
進入容器# docker exec
功能
連線到正在執行中的容器,進行命令操作。
語法
docker exec -it [ID Or NANME] bash
引數
-i :以互動模式執行容器,讓容器的標準輸入保持開啟,通常與 -t 同時使用。 -t :讓docker分配一個偽終端,繫結到容器標準輸入上,通常與 -i 同時使用。 -it :-i:互動式操作,-t:終端,進入bash執行命令檢視返回結果,需要互動式終端。
例項
# docker run --rm -d -p 80:80 --name webserver nginx
# docker exec -it webserver bash
-
終止容器 # docker stop
語法
# docker stop [ID Or NANME]
-
重啟容器 # docker restart
語法
# docker restart [ID Or NANME]
-
啟動已終止容器 # docker start
語法
# docker start [ID Or NANME]
-
刪除容器 # docker rm
語法 1.刪除單個停止的容器
# docker container rm [ID Or NANME]
# docker rm [ID Or NANME]
2.刪除所有容器
# 停止並刪除所有容器
# docker rm -f $(docker ps -aq)
# docker stop $(docker ps -q) & docker rm $(docker ps -aq)
# 刪除所有執行的容器
# docker rm -f $(docker ps -q)
# 刪除所有停止的容器
# docker container prune
-
列出容器 # docker ps
功能
列出容器
語法
# docker ps [OPTIONS]
引數
-a :顯示所有的容器,包括未執行的。 -l :顯示最近建立的容器。 -f :根據條件過濾顯示的內容。 -n :列出最近建立的n個容器。 -q :靜默模式,只顯示容器編號。
例項
# docker ps -a
-
檢視容器資訊 # docker inspect
功能
獲取容器和映象的資訊
語法
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
引數
-f :指定返回值的模板檔案。 -s :顯示總的檔案大小。 –type :為指定型別返回JSON。
例項
# docker inspect nginx
-
檢視容器程序資訊 # docker top
功能
檢視容器中執行的程序資訊,支援 ps 命令引數
語法
docker top [OPTIONS] CONTAINER [ps OPTIONS]
-
容器的日誌 # docker logs
功能
獲取容器的日誌
語法
docker logs [OPTIONS] CONTAINER
引數
-f : 跟蹤日誌輸出 –since :顯示某個開始時間的所有日誌 -t : 顯示時間戳 –tail :僅列出最新N條容器日誌
-
容器埠對映 # docker port
功能
列出指定的容器的埠對映
語法
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]