Docker筆記(三)_Win10上docker的指令操作part1.查看系統訊息、版本、容器跟映像檔基礎指令
查看docker 版號
docker -v
C:\Users\535860>docker -v Docker version 19.03.13, build 4484c46d9d
查看docker 詳細版本資訊
docker version
C:\Users\535860>docker version Client: Docker Engine - Community Cloud integration: 1.0.2 Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:00:27 2020 OS/Arch: windows/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:07:04 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
查看docker 的系統資訊
(image數、container數、CPU、memory)
docker info
C:\Users\535860>docker info Client: Debug Mode: false Plugins: scan: Docker Scan (Docker Inc., v0.3.4) Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 19.03.13 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 4.19.128-microsoft-standard Operating System: Docker Desktop OSType: linux Architecture: x86_64 CPUs: 8 Total Memory: 25.01GiB Name: docker-desktop ID: 5CV4:SRM6:GB3O:7VQZ:S4IO:BHHK:NBZS:WZTR:V6A4:DKZ5:46WC:JAGK Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false Product License: Community Engine WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled
若要學習用陌生的docker command怎麼查看幫助文檔
docker某句命令 --help
{docker certain command} --help
例如
映像檔相關操作
從 docker hub上去搜尋一些現成的映(鏡)像檔/images
By特定image關鍵字查找映像檔
docker search {image-keyword}
NAME: 鏡像倉庫源的名稱
DESCRIPTION: 鏡像的描述
OFFICIAL: 是否為 docker 官方發布
STARS: 類似 Github 裡面的 star,表示點讚、收藏的意思。
AUTOMATED: 自動構建。
預設會有星星顆數(被收藏的次數)排名由高到低排出來
如果要去篩選掉一些沒有這麼熱門的image可以改一下命令
比方收藏數要100以上的才顯示
docker search -s {collect-count} {image-keyword}
official only的image查找方式
docker search {image-keyword} --filter is-official=true
找到喜歡的image要抓下來
docker pull {image-keyword}
例如docker pull ubuntu
或docker pull ubuntu:latest
默認會抓最新版下來
如果有使用任何映像檔建立過Container,或是手動下載過映像檔,就會存放在本機中。
列出本機映像檔docker images
docker images
當images被執行起來時就會變成是容器(執行中的image)
列出執行中的容器
docker ps
由於目前沒有任何執行中的容器
所以為空
運行image(創建出一個新的容器並執行命令)
docker run -i -t {image-repository-name}
此時在下一次docker ps就會看到有正在運行的一筆容器紀錄
按CTRL+Z可以在跳出容器
(PS:docker run 若你輸入執行指令指定到錯的映像檔名稱,如果那個輸入錯誤的映像檔剛好也存在於Docker Hub,docker會很雞婆也直接幫你pull下來。)
比如我不小心執行到
docker run -it hello-world
其實是想在某個容器內print hello world但在外部執行到了
這時就會發現docker在本機判斷不到這麼名字的映像
直接去 docker hub 找到image幫我們抓下來
刪除image
docker rmi [Image ID]
(PS:在刪除映像檔之前要先用 docker rm 刪掉依賴於這個映像檔的所有容器。 )
我們想把誤抓下來的image刪掉的話則可以透過
docker rmi 去刪除該image
但當我們要去刪除image的時候會發現怎麼刪不掉
原因在於這個別人建立的image會於運行時也產生一個沒有在跑的container
所以你下docker ps (或者 docker container ls)都會看不到這隱藏的容器
這時我們下docker container ls -a顯示所有(包含沒在運行的)容器
檢查一下
這時要先將此容器先刪除在刪image
容器相關操作
(參數請傳container-id)
如何再次進到容器?
再次執行(進到)既有執行中的容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
例如這裡是要進到
ubuntu的這個運行中的container則指定其container id
然後還要加上預設要運行的命令
在linux 預設多用bash終端所以也指定給它
docker exec -it b5387a09cff5 /bin/bash
這裡要注意 docker run 是針對還沒運行的image用
而docker exec 則是針對已經在運行的container
container運行起來後怎麼關掉呢?
停(關)掉容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
若要在執行起來?
再次執行已被關閉的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
重啟容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
刪除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
(PS:必須先停掉容器才能刪除)
陳列出所有容器
docker container ls
預設只打docker container ls 會只秀running中的
如要連沒在運行的容器也列出
docker container ls -a
容器相關指令還有如下滿多種的
C:\Users\535860>docker container -help unknown shorthand flag: 'e' in -elp See 'docker container --help'. Usage: docker container COMMAND Manage containers Commands: attach Attach local standard input, output, and error streams to a running container commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem exec Run a command in a running container export Export a container's filesystem as a tar archive inspect Display detailed information on one or more containers kill Kill one or more running containers logs Fetch the logs of a container ls List containers pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container prune Remove all stopped containers rename Rename a container restart Restart one or more containers rm Remove one or more containers run Run a command in a new container start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers wait Block until one or more containers stop, then print their exit codes Run 'docker container COMMAND --help' for more information on a command.
Ref:
How To List / Start / Stop Docker Containers
How to list containers in Docker
docker container ls
docker images 指令筆記
基礎指令
Docker 基本教學
docker search` filter official images #18980
Docker - 解決刪除 image 時出現的錯誤訊息
Docker 中刪除 Images 鏡像 及 Containers
《Docker —— 從入門到實踐》正體中文版
Docker start/stop/restart 命令
「docker run」VS「docker exec」,這兩個命令有區別嗎?
與Running Instance互動
留言
張貼留言