Docker基礎使用
Created by | Created on |
---|---|
xbo | June 8, 2019 |
概念
Docker Images
:鏡像,用于創建Docker容器的模板。
Docker Container
:容器,獨立運行的一組應用。
命令
-
docker run [OPTIONS] IMAGES:TAG [COMMAND] [ARG...]
: 運行一個使用標簽為TAG的IMAGES鏡像創建的容器,并執行命令COMMAND。Docker首先查找本地鏡像倉庫,查找不到則自動從Docker Hub中pull鏡像。沒有指定TAG時,Docker默認使用:latest。-
-v HOST_PATH:CONTAINER_PATH
: 將主機路徑HOST_PATH(文件或目錄)掛載到容器里的路徑CONTAINER_PATH。 -
--name=NAME
: 指定容器名稱為NAME,否則Docker自動確定容器名稱。 -
--net=NET_TYPE
: 指定容器的網絡連接類型,支持bridge/host/none/container四種。 -
--expose=[PORTS]
: 開放一個或一組端口。 -
-h HOST_NAME
: 指定容器的hostname。 -
-i
: 在新容器內指定一個終端。 -
-t
:對容器內的標準輸入(STDIN)進行交互。 -
-d
: 以后臺模式運行,返回容器ID(CONTAINER_ID)。 -
-P
: 將容器內部使用的網絡端口隨機映射到主機的高位端口。 -
-p [BIND_ADDR:]HOST_PORT:CONTAINER_PORT[/UDP]
: 將容器內部的端口號。CONTAINER_PORT映射到主機的端口HOST_PORT,可以指定容器綁定的網絡地址BIND_ADDR,默認映射TCP端口,如果要映射UDP端口,需要添加/UDP。
-
-
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
: 在運行的容器中執行命令。-
-d
: 后臺運行。 -
-i
: 在新容器內指定一個終端。 -
-t
:對容器內的標準輸入(STDIN)進行交互。
-
-
docker ps [OPTIONS]
: 查看運行中的容器。-
-a
: 查看所有容器,包括已經停止的。 -
-l
: 查看最后一次創建的容器。 -
-n
: 查看最近創建的n個容器。 -
-s
: 顯示總的文件大小。
-
-
docker logs [OPTIONS] CONTAINER
: 查看容器的日志,比如查看以后臺模式運行的容器的標準輸出。-
-f
: 像tail -f
動態輸出最新內容。 -
--since=START_TIME
: 查看某個時間以來的所有日志,時間格式為YYYY-MM-DD
。 -
-t
: 顯示時間戳。 -
--tail=n
: 列出最新n條容器日志。
-
docker stop CONTAINER [CONTAINER...]
: 停止容器。docker start CONTAINER [CONTAINER...]
: 啟動停止的容器。docker restart CONTAINER [CONTAINER...]
: 重啟容器。docker COMMAND --help
: 查看命令COMMAND的使用方法。docker port [CONTAINER] [CONTAINER_PORT[/RPOTO]]
: 查看容器的端口映射,可以指定查看的容器和容器內部端口號以及協議類型。docker top CONTAINER
: 查看容器內部運行的進程。docker inspect CONTAINER
: 查看容器的配置和狀態信息。-
docker rm [OPTIONS] CONTAINER [CONTAINER...]
: 刪除容器,容器必須使停止狀態,否則報錯。-
-f
: 強制刪除。 -
-l
: 移除容器間的網絡連接,而非容器本身。
-
-
docker rmi [OPTIONS] IMAGE [IMAGE...]
: 刪除本地鏡像。-
-f
: 強制刪除。
-
-
docker images [OPTIONS] [RSPOSITORY[:TAG]]
: 查看本地鏡像。-
-a
: 列出本地所有鏡像,含中間映像層。
-
docker pull IMAGES[:TAG]
: 從倉庫中拉取鏡像,未指定TAG時默認為latest。docker search IMAGES
: 從倉庫中搜索鏡像。-
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
: 從容器創建一個新的鏡像至本地鏡像倉庫。-
-m
: 提交的描述信息。 -
-a
: 鏡像作者。 -
-P
: 在commit時暫停容器。 -
CONTAINER
: 容器ID,將該容器打包成一個鏡像。 -
[REPOSITORY[:TAG]]
: 鏡像源名REPOSITORY和標簽TAG。
-
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
: 標記本地鏡像,將其歸入某一倉庫。docker cp SRC:DST
: 在容器和主機間拷貝文件,容器地址需指定容器ID,即CONTAINER_ID:PATH。docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
: 創建一個容器但不啟動,使用方法同[docker run
]。docker version
: 顯示 Docker 版本信息。docker info
: 顯示 Docker 系統信息,包括鏡像和容器數。-
docker export [OPTIONS] CONTAINER [> FILE]
: 將指定容器導出為一個tar文件,可使用STDOUT(>)或-o指定輸出文件名。-
-o FILE
: 指定導出的文件。
-
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
: 從tar歸檔文件中創建鏡像,可以指定鏡像名稱。-
docker save [OPTIONS] IMAGE [IMAGE...]
: 將指定鏡像保存為tar歸檔文件,若指定的時container,則保存container使用的image。-
-o FILE
: 指定導出的文件
-
-
docker load [OPTIONS] [< FILE]
: 導入使用docker save
命令導出的鏡像,不能指定鏡像名稱。-
-i FILE
: 指定導入的文件
-
export
用于持久化容器,將丟失所有的歷史紀錄和元數據信息(history & layer)無法進行層回滾操作,save
用于持久化鏡像,不丟失信息。
save-load
多用于部署鏡像至不能連接外網的服務器上。export-load
多用于制作基礎鏡像,即在容器中執行一定操作后將容器打包成新的鏡像分發給他人做進一步開發。
-
docker history [OPTIONS] IMAGE
: 查看指定鏡像的創建歷史。-
--no-trunc
: 顯示完整的提交記錄;
-