1. 程式人生 > >Docker $ 第三篇 :Docker容器的使用

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]]