docker 學習筆記

前言:Linux操做系統由內核空間和用戶空間組成。html

內核空間是kernel,用戶空間是rootfs, 不一樣Linux發行版的區別主要是rootfs.好比 Ubuntu 14.04 使用 upstart 管理服務,apt 管理軟件包;而 CentOS 7 使用 systemd 和 yum。這些都是用戶空間上的區別,Linux kernel 差異不大。docker

1.Dockerfile、Docker鏡像和Docker容器的關係shell

Dockerfile 是軟件的原材料,Docker 鏡像是軟件的交付品,而 Docker 容器則能夠認爲是軟件的運行態。從應用軟件的角度來看,Dockerfile、Docker 鏡像與 Docker 容器分別表明軟件的三個不一樣階段,Dockerfile 面向開發,Docker 鏡像成爲交付標準,Docker 容器則涉及部署與運維。bash

經過鏡像能夠建立一個或多個容器,用另外一種便於理解的說法:Docker中的鏡像至關於咱們平常生活中接觸到的操做系統,容器則是基於操做系統上的程序。服務器

容器 = 鏡像 + 讀寫層。而且容器的定義並無說起是否要運行容器。運維

2.docker經常使用命令學習

  2.1 docker search 鏡像名稱(鏡像搜索)ui

  2.2 docker images -a (列出全部服務器上的鏡像 -a表示把中間層的隱藏鏡像也顯示出來)spa

  2.3 docker ps -a (列出服務器上全部的容器,包括中止的容器  -a顯示出中止的容器 -n 顯示前幾個鏡像)操作系統

  2.4 docker build -t 鏡像名稱:鏡像版本 . (鏡像構建,若是不指定鏡像版本,默認是latest)

  2.5 docker run --name 容器名稱 --rm -it 鏡像名稱:鏡像版本(容器啓動  --name爲容器設置一個啓動名稱,不設定系統會自動生成 -it表示啓動交互式bashshell並打開標準輸入 --rm 會在該容器退出時進行刪除)

  2.6 docker exec -it 容器id /bin/bash (在運行的容器內,開啓一個shell運行命令,注意這個命令只能用於運行中的容器,容器id經過docker ps -a查看)

  2.7 docker start 容器id(啓動容器)

  2.8 docker stop 容器id(關閉容器)

  2.9 docker restart 容器id(重啓容器)

  2.10 docker rmi -f 鏡像id (刪除鏡像,-f表示強制刪除,能夠刪除中間層的鏡像)

  2.11 docker rm 容器id(刪除容器。命令會移除構成容器的可讀寫層。注意,這個命令只能對非運行態容器執行)

  2.12 docker inspect 容器ID | grep IPAddress(查看容器信息 | grep IPAddress 查看ip信息)

  2.13 docker status 容器名稱(監控容器運行狀態)

  2.14 docker logs 容器名稱(查看容器日誌)

3.刪除none鏡像

  # 中止docker
  docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
  # 刪除docker
  docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
  # 刪除images
  docker rmi $(docker images | grep "none" | awk '{print $3}')
4.Docker文件中只能有一個CMD指令。若是列出多個CMD,那麼只有最後一個CMD纔會生效
 
參考學習連接:
https://cloud.tencent.com/developer/article/1473052
https://cloud.tencent.com/developer/article/1518467
https://help.aliyun.com/document_detail/84095.html?spm=51...y35D&aly_as=_IYKo2QB
https://yq.aliyun.com/articles/219139?spm=5176.10695662.1...bQTN&aly_as=RM0xyLSU
https://blog.csdn.net/qq_23315711/article/details/80873021
相關文章
相關標籤/搜索