docker常用命令

2021-09-09 02:37:59 字數 3620 閱讀 9137

殺死所有正在執行的容器

docker kill $ (docker ps -a -q)

刪除所有已經停止的容器
docker rm $(docker ps -a -q)

刪除所有未打 dangling 標籤的映象
docker rmi $(docker images -q -f dangling=true)

刪除所有映象
docker rmi $(docker images -q)

為這些命令建立別名
~/.bash_aliases

殺死所有正在執行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'

刪除所有已經停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'

刪除所有未打標籤的映象.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'

刪除所有已經停止的容器和未打標籤的映象.
alias dockerclean='dockercleanc || true && dockercleani'

docker run lean/ping ping www.google.com

啟動容器並啟動bash(互動方式):

$docker run -i -t image_name/continar_id /bin/bash

啟動容器以後臺方式執行(更通用的方式):

$docker run -d -it image_name

ps:這裡的 image_name 包含了tag:hello.demo.kdemo:v1.0

附著到正在執行的容器

docker attach < id、container_name>

進入正在執行的容器內部,同時執行bash(比attach更好用)

docker exec -t -i id container_name /bin/bash

ps:docker exec是如此的有用,以至於我們通常是將其封裝為乙個指令碼,放到全域性可呼叫的地方,比如,可以寫成乙個indocker.sh:

$cat indocker.sh

docker exec -t -i $1 /bin/bash

$docker ps | less -s

container id image

9cf7b563f689 hello.demo.kdemo:v160525.202747

$./indocker.sh 9cf7b563f689

docker logs

實時檢視日誌輸出

docker logs -f (類似 tail -f) (帶上時間戳-t)

列出當前所有正在執行的container

$docker ps

用一行列出所有正在執行的container(容器多的時候非常清晰)

$docker ps | less -s

列出所有的container

$docker ps -a

列出最近一次啟動的container

$docker ps -l

顯示乙個執行的容器裡面的程序資訊

$docker top name/id

檢視容器內部詳情細節:

$docker inspect

在容器中安裝新的程式

從容器裡面拷貝檔案/目錄到本地乙個路徑

$docker cp name:/container_path to_path

$docker cp id:/container_path to_path

儲存對容器的修改(commit) 當你對某乙個容器做了修改之後(通過在容器中執行某乙個命令),可以把對容器的修改儲存下來,這樣下次可以從儲存後的最新狀態執行該容器。

$docker commit id new_image_name

note: image相當於類,container相當於例項,不過可以動態給例項安裝新軟體,然後把這個container用commit命令固化成乙個image。

刪除單個容器

$docker rm name/id

-f, –force=false; -l, –link=false remove the specified link and not the underlying container; -v, –volumes=false remove the volumes associated to the container

刪除所有容器

$docker rmdocker ps -a -q

停止、啟動、殺死、重啟乙個容器

$docker stop name/id

$docker start name/id

$docker kill name/id

$docker restart name/id

操作image

列出映象

$sudo docker images

-a, –all=false show all images; –no-trunc=false don』t truncate output; -q, –quiet=false only show numeric ids

從dockerhub檢索image

$docker search image_name

$docker pull image_name

刪除乙個或者多個映象;

$docker rmi image_name

-f, –force=false force; –no-prune=false do not delete untagged parents

顯示乙個映象的歷史;

$docker history image_name

發布docker映象

$docker push new_image_name

ps:要發布到私有registry中的映象,在映象命名中需要帶上registry的網域名稱(如果非80埠,同時需要帶上埠號)比如:

$docker push dockerhub.yourdomain.com:443/hello.demo.kdemo:v1.0

拉取docker映象

$docker pull image_name

檢視docker0的網路(宿主機上操作)

$ip a show docker0

檢視容器的ip位址

$docker inspect -f '}'

附著到容器內部檢視其內部ip:

$ip a show eth0

檢視docker基礎資訊

檢視docker版本

$docker version

檢視docker系統的資訊

$docker info

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...

docker常用命令

1.刪除已退出的容器 docker rm docker ps a q 2.強制刪除所有容器 docker rm f docker ps a 3.docker attach 進不去的時候可以用docker exec it containerid bin bash docker run it ubunt...

docker常用命令

docker常用命令 1.進入docker容器 sudo docker run it insaneworks centos bin bash 使用ctrl p或者ctrl q可以進入和退出容器 2.拉去乙個映象 docker pull insaneworks centos 檢視所有的映象 docke...