一張腦圖整理Docker常用命令


先上圖:

Docker

Dcoker基本概念

Docker 包括三個基本概念:

  • 鏡像(Image):Docker 鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時准備的一些配置參數(如匿名卷、環境變量、用戶等)。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。

  • 容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向對象程序設計中的 實例 一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。

  • 倉庫(Repository):倉庫(Repository)類似Git的遠程倉庫,集中存放鏡像文件。

三者關系可以用下圖表示:

Docker

接下來看一看Docker的常用命令。

服務

  • 查看Docker版本信息
docker version
  • 查看docker簡要信息
docker -v
  • 啟動Docker
systemctl start docker
  • 關閉docker
systemctl stop docker
  • 設置開機啟動
systemctl enable docker
  • 重啟docker服務
service docker restart
  • 關閉docker服務
service docker stop

鏡像

鏡像倉庫

Docker Hub 等鏡像倉庫上有大量的高質量的鏡像可以用,可以從倉庫獲取鏡像。

  • 檢索鏡像
docker search 關鍵字
  • 拉取鏡像
docker pull [選項] [Docker Registry 地址[:端口號]/]倉庫名[:標簽]

鏡像管理

  • 列出鏡像
docker image ls
docker images
  • 刪除鏡像
# 刪除指定鏡像
docker rmi <鏡像Id>
  • 導出鏡像
# 將鏡像保存為歸檔文件
docker save
  • 導入鏡像
docker load

Dockerfile構建鏡像

Dockerfile 是一個文本格式的配 文件,用戶可以使用 Dockerfile 來快速創建自定義的鏡像。

Dockerfile 由一行行行命令語句組成,並且支持以#開頭的注釋行.

Dockerfile常見指令

下面是Dockerfile中一些常見的指令:

  • FROM:指定基礎鏡像

  • RUN:執行命令

  • COPY:復制文件

  • ADD:更高級的復制文件

  • CMD:容器啟動命令

  • ENV:設置環境變量

  • EXPOSE:暴露端口

其它的指令還有ENTRYPOINT、ARG、VOLUME、WORKDIR、USER、HEALTHCHECK、ONBUILD、LABEL等等。

以下是一個Dockerfile實例:

FROM java:8
MAINTAINER "jinshw"<jinshw@qq.com>
ADD mapcharts-0.0.1-SNAPSHOT.jar mapcharts.jar
EXPOSE 8080
CMD java -jar mapcharts.jar

鏡像構建

docker build

鏡像運行

鏡像運行,就是新建並運行一個容器。

docker run [鏡像ID]

容器

容器生命周期

  • 啟動:啟動容器有兩種方式,一種是基於鏡像新建一個容器並啟動,另外一個是將在終止狀態(stopped)的容器重新啟動。
# 新建並啟動
docker run [鏡像名/鏡像ID]
# 啟動已終止容器
docker start [容器ID]
  • 查看容器
# 列出本機運行的容器
$ docker ps 
# 列出本機所有的容器(包括停止和運行)
$ docker ps -a
  • 停止容器
# 停止運行的容器
docker stop [容器ID]
# 殺死容器進程
docker  kill [容器ID] 
  • 重啟容器
docker restart [容器ID] 
  • 刪除容器
docker  rm [容器ID]

進入容器

進入容器有兩種方式:

# 如果從這個 stdin 中 exit,會導致容器的停止
docker attach [容器ID]
# 交互式進入容器
docker exec [容器ID]

進入容器通常使用第二種方式,docker exec后面跟的常見參數如下:

- d, --detach 在容器中后台執行命令;
- i, --interactive=true I false :打開標准輸入接受用戶輸入命令

導出和導入

  • 導出容器
#導出一個已經創建的容器到一個文件
docker export [容器ID]
  • 導入容器
# 導出的容器快照文件可以再導入為鏡像
docker import [路徑]

其它

  • 查看日志
# 導出的容器快照文件可以再導入為鏡像
docker logs [容器ID]

這個命令有以下常用參數
-f : 跟蹤日志輸出

--since :顯示某個開始時間的所有日志

-t : 顯示時間戳

--tail :僅列出最新N條容器日志
  • 復制文件
# 從主機復制到容器
sudo docker cp host_path containerID:container_path 
# 從容器復制到主機
sudo docker cp containerID:container_path host_path



參考:

【1】:Docer從入門到實踐

【2】:5分鍾帶你快速了解Docker和k8s

【3】:docker常用命令整理

【4】:Docker 常用命令與操作

【5】:Docker 三要素 :鏡像、容器和倉庫

【6】:docker 常用命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM