docker理解

  • 2022 年 9 月 19 日
  • 筆記

Docker 包括三個基本概念:

  • 鏡像(Image):Docker 鏡像(Image),就相當於是一個 root 文件系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 文件系統。
  • 容器(Container):鏡像(Image)和容器(Container)的關係,就像是面向對象程式設計中的類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。
  • 倉庫(Repository):倉庫可看成一個程式碼控制中心,用來保存鏡像。

Docker 使用客戶端-伺服器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。

一、docker容器命令

1.Docker 以 ubuntu15.10 鏡像創建一個新容器,然後在容器里執行 bin/echo “Hello world”,然後輸出結果。

1 runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
2 Hello world

2.運行互動式的容器

1 runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
2 root@0123ce188bd8:/#
  • -t: 在新容器內指定一個偽終端或終端。

  • -i: 允許你對容器內的標準輸入 (STDIN) 進行交互。

3.啟動容器

1 runoob@runoob:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
2 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63      #顯示內容為容器ID

4.後台運行docker

1 runoob@runoob:~$ docker run -itd --name ubuntu-test ubuntu /bin/bash

加了 -d 參數默認不會進入容器,想要進入容器需要使用指令 docker exec,退出容器終端,但不會導致容器的停止

1 runoob@runoob:~$ docker exec -it 243c32535da7 /bin/bash
2 root@0123ce188bd8:/#

5.查看容器運行狀態

1 runoob@runoob:~$ docker ps
2 CONTAINER ID #容器ID IMAGE #鏡像 COMMAND #啟動容器時運行的命令 CREATED STATUS PORTS #容器的埠資訊和使用的連接類型(tcp\udp) NAMES #容器名稱
3 2b1b7a428627 training/webapp "/bin/sh -c 'while true...'" 37 seconds ago Up 36 seconds 0.0.0.0:1025->5000/tcp ecstatic_ritchie

docker ps -a : 查看所有容器

七種STATUS容器狀態:

  • created(已創建)
  • restarting(重啟中)
  • running 或 Up(運行中)
  • removing(遷移中)
  • paused(暫停)
  • exited(停止)
  • dead(死亡)

6.查看容器內的標準輸出

1 runoob@runoob:~$ docker logs 2b1b7a428627     #容器ID或者容器名稱
2 hello world

7.停止容器

1 runoob@runoob:~$ docker stop 2b1b7a428627     #容器ID或者容器名稱

8.重啟容器

1 runoob@runoob:~$ docker restart 2b1b7a428627     #容器ID或者容器名稱

9.退出容器:通過運行 exit 命令或者使用 CTRL+D

10.刪除容器

1 runoob@runoob:~$ docker rm -f 2b1b7a428627

 

二、docker鏡像命令

1.獲取鏡像

1 runoob@runoob:~$ docker pull ubuntu:13.10

2.列出鏡像列表

1 runoob@runoob:~$ docker images           
2 REPOSITORY#鏡像倉庫源 TAG                 IMAGE ID            CREATED             SIZE
3 ubuntu              14.04               90d5884b1ee0        5 days ago          188 MB
4 php                 5.6                 f40e9e0f10c8        9 days ago          444.8 MB

3.刪除鏡像

1 runoob@runoob:~$ docker rmi 「水月傳奇」 #刪除鏡像水月傳奇