列出映像檔

列出所有映像檔

可以使用 docker imagesdocker image ls 列出所有映像檔

$ docker images
$ docker image ls
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
laradock_redis       latest              3ec3f541bae0        24 hours ago        107MB
laradock_nginx       latest              2586012f8dad        24 hours ago        26.7MB
laradock_php-fpm     latest              235ab07df83e        24 hours ago        384MB
laradock_workspace   latest              8f74a5ffe174        24 hours ago        721MB
laradock_mysql       latest              61a7a3f27ca2        24 hours ago        445MB
ubuntu               16.04               5e8b97a2a082        7 days ago          114MB
ubuntu               18.04               113a43faa138        7 days ago          81.2MB
ubuntu               latest              113a43faa138        7 days ago          81.2MB
nginx                alpine              bc7fdec94612        7 days ago          18MB
mysql                latest              a8a59477268d        5 weeks ago         445MB
redis                latest              bfcb1f6df2db        6 weeks ago         107MB
laradock/php-fpm     2.0-72              22f190ba7b61        5 months ago        384MB
laradock/workspace   2.0-72              69a57f6aca78        5 months ago        721MB
標記 REPOSITORY TAG IMAGE ID CREATED SIZE
說明 來自哪個資源庫 標記 唯一編號 建立時間 檔案大小
example 1 laradock_nginx latest 2586012f8dad 24 hours ago 26.7MB
example 2 ubuntu 16.04 5e8b97a2a082 7 days ago 114MB
example 3 ubuntu 18.04 113a43faa138 7 days ago 81.2MB
example 4 ubuntu latest 113a43faa138 7 days ago 81.2MB

IMAGE ID 是唯一編號,在目前的 latest 版本與 18.04 版本是同一個映像檔,所以 IMAGE ID 則為相同

列出所有虛擬映像檔

$ docker image ls -f dangling=true

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              bb74cce9ef29        3 hours ago         145MB
<none>              <none>              3da67fb2dba4        22 hours ago        137MB

虛擬映像檔指的是他不屬於任何一個資源庫(Repository)也沒有指定任何標記(Tag)的映像檔

移除所有虛擬映像檔

可以使用 docker image prune 移除所有的虛擬映像檔

$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:bb74cce9ef29d7747ba6f168510ee77aa8b039ff67dc8b8efbbf91bc55dc7d9e
deleted: sha256:bbed30714b50963e8a4e86ae94755d6f245ca43fd07c34f03b810137d73f11c3
deleted: sha256:3da67fb2dba41a3352a827e562a57cba9dfccf4b9759f6b4364161bfee0b7a5a

Total reclaimed space: 1.179MB

中間映像檔

可以使用 docker image ls -adocker images -a 列出所有中間映像檔,會了加速建立映像檔,Docker 會利用中間映像檔去建立新的映像檔。

這些無標籤的映像檔皆為中間映像檔,中間映像檔是其他映像檔依賴的鏡像映像檔,若中間映像檔被刪除了,則會導致依賴出錯。

中間映像檔不需要刪除,相同的 container 只會被儲存一次,所以不會佔太多空間,若原本依賴他的映像檔被刪除後,浙西中間映像檔也會被刪除。

$ docker image ls -a
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
kejyun/ubuntu1804         0.1                 a54db3844855        21 hours ago        144MB
kejyun/ubuntu1804docker   0.1                 a54db3844855        21 hours ago        144MB
<none>                    <none>              4d45c8de0b0e        21 hours ago        142MB
<none>                    <none>              4d1c46269cae        21 hours ago        142MB
<none>                    <none>              36a48deac67b        21 hours ago        142MB
<none>                    <none>              0f58b888565e        21 hours ago        142MB
<none>                    <none>              39247bc7e5f9        21 hours ago        140MB
<none>                    <none>              c1f733062d8b        21 hours ago        140MB
<none>                    <none>              c82e7b150562        21 hours ago        140MB
kejyun/ubuntu             0.1                 61853cc80834        21 hours ago        140MB
<none>                    <none>              039ac36a425a        21 hours ago        138MB
<none>                    <none>              db6ccb8f76ae        21 hours ago        138MB
<none>                    <none>              a9b3724e2ee3        22 hours ago        137MB

啟動映像檔

啟動 ubuntu 18.04

$ sudo docker run -t -i ubuntu:18.04 /bin/bash
root@f8e6e8b94132:/#

啟動最新 ubuntu

$ sudo docker run -t -i ubuntu /bin/bash
root@1436aace3d48:/#

如果沒有指定 TAG,預設使用 latest

docker run 參數

語法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
$ docker run -t -i ubuntu:18.04 /bin/bash
參數 說明
run 執行 container
-t 替 container 分配一個虛擬終端機借,通常與 -t 同時執行
-i 命令互動模式,通常與 -t 同時執行
ubuntu:18.04 映像檔名稱
/bin/bash 在 container 執行 /bin/bash 指令

其他語法

參數 說明
--expose 開放內部的 port 到外部
--rm 退出終端介面後,立即刪除 container,若只是測試可以用這個指令,避免浪費空間,但如果需要故障排除,保留資料的話,不可以下這個指令

列出映像檔

列出目前啟動的映像檔 container

docker ps

列出所有映像檔 container

docker ps -a
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
1436aace3d48        ubuntu              "/bin/bash"         4 seconds ago       Up 6 seconds                                    mystifying_kare
d4816a250cca        ubuntu              "/bin/bash"         12 seconds ago      Exited (0) 8 seconds ago                        infallible_shirley
f8e6e8b94132        ubuntu:18.04        "/bin/bash"         6 minutes ago       Exited (0) 23 seconds ago                       distracted_kowalevski

查詢 Ubuntu containers 系統資訊

可以使用 cat /etc/os-release 查詢 Ubuntu CONTAINER 版本

root@f5f0353fc32b:/\# cat /etc/os-release

NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

參考資料

results matching ""

    No results matching ""