幫助命令
docker version
docker info
docker --help
映象命令列出本地主機上的映象:
docker images
各個選項說明:
repository:表示映象的倉庫源
tag: 映象的標籤
image id: 映象id
created: 映象建立時間
size: 映象大小
同一倉庫源可以有多個 tag,代表這個倉庫源的不同個版本,我們使用 repository:tag 來定義不同的映象。
-a:列出本地所有的映象(含中間映像層)
-q:只顯示映象id
--digests:顯示映象的摘要資訊
--no-trunc:顯示完整的映象資訊
docker search 某個映象名字
查詢映象docker search 某個映象名字
docker search [options]映象名
options說明
--no-trunc : 顯示完整的映象描述
-s : 列出收藏數不小於指定值的映象
--automated:只列出automated build型別的映象
docker pull 映象名字[:tag]
刪除映象docker rmi 某個映象名字或者id
刪除單個映象
docker rmi -f 映象id
刪除多個映象
docker rmi -f 映象名1:tag 映象名2:tag
刪除全部映象
docker rmi -f $(docker images -qa) 注意:-f後面要有空格
重啟dockersystemctl start docker
容器命令只有映象有了才可以建立容器,這是前提
docker pull centos
新建並啟動容器docker run [options] image [command] [arg]
options說明(常用):有些是乙個減號,有些是兩個減號
--name="容器新名字": 為容器指定乙個名稱;
-d: 後台執行容器,並返回容器id,也即啟動守護式容器;
-i:以互動模式執行容器,通常與 -t 同時使用;
-t:為容器重新分配乙個偽輸入終端,通常與 -i 同時使用;
-p: 隨機埠對映;
-p: 指定埠對映,有以下四種格式
ip:hostport:containerport
ip::containerport
hostport:containerport
containerport
啟動互動式容器使用映象centos:6.8以互動模式啟動乙個容器,在容器內執行/bin/bash命令。
docker run -it centos::6.8 /bin/bash
列出當前所有正在執行的容器docker ps [options]
options說明(常用):
-a :列出當前所有正在執行的容器+歷史上執行過的
-l :顯示最近建立的容器。
-n:顯示最近n個建立的容器。
-q :靜默模式,只顯示容器編號。
--no-trunc :不截斷輸出。
進入正在執行的容器並以命令列互動docker exec -it 容器id /bin/bash
重新進入docker attach 容器id
上述兩種方式的區別
attach 直接進入容器啟動命令的終端,不會啟動新的程序
exec 是在容器中開啟新的終端,並且可以啟動新的程序
退出容器(兩種方式)容器停止執行並且退出
exit
容器不停止執行退出
ctrl+p+q
啟動容器docker start 容器id或者容器名
重啟容器docker restart 容器id或者容器名
停止容器docker stop 容器id或者容器名
強制停止容器docker kill 容器id或者容器名
刪除已停止的容器docker rm 容器id
一次性刪除多個容器docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
啟動守護式容器docker run -d 容器名
使用映象centos:latest以後臺模式啟動乙個容器
docker run -d centos
問題:然後docker ps -a 進行檢視, 會發現容器已經退出
很重要的要說明的一點: docker容器後台執行,就必須有乙個前台程序.
容器執行的命令如果不是那些一直掛起的命令(比如執行top,tail),就是會自動退出的。
這個是docker的機制問題,比如你的web容器,我們以nginx為例,正常情況下,我們配置啟動服務只需要啟動響應的service即可。例如
service nginx start
但是,這樣做,nginx為後台程序模式執行,就導致docker前台沒有執行的應用, 這樣的容器後台啟動後,會立即自殺因為他覺得他沒事可做了.所以,最佳的解決方案是,將你要執行的程式以前臺程序的形式執行
檢視容器日誌docker logs -tf --tail 容器id
docker run -d centos:6.8 /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
-t 是加入時間戳
-f 跟隨最新的日誌列印
--tail 數字 顯示最後多少條
檢視容器內部執行的程序docker top 容器id
檢視容器內部細節docker inspect 容器id
從容器內拷貝檔案到主機上docker cp 容器id : 容器內路徑 目的主機路徑
常用命令list images 列出系統當前映象
create a new container 建立乙個新的容器,同 run,但不啟動容器
docker 映象commit操作補充docker commit 提交到容器副本使之成為乙個新的映象
docker commit -m="提交的描述資訊" -a="作者" 容器id 要建立的目標映象名:[tag]
docker run -it -p 8080:8080 tomcat
-p 主機埠:docker 容器埠
-p(大寫) 隨機分配埠
i : 互動
t : 終端
容器間的繼承和資料共享docker run -it -v /宿主機目錄:/容器內目錄 centos /bin/bash
docker run -it -v /宿主機絕對路徑目錄:/容器內目錄 映象名
檢視資料卷是否掛載成功
docker inspect 容器id
docker run -it -p 8080:8080 tomcat
-p 主機埠:docker 容器埠
-p(大寫) 隨機分配埠
i : 互動
t : 終端
常用終端命令
目錄操作 命令名 功能描述 使用舉例 mkdir 建立乙個目錄 mkdir dirname rmdir 刪除乙個目錄 rmdir dirname mvdir 移動或重新命名乙個目錄 mvdir dir1 dir2 cd 改變當前目錄 cd dirname pwd 顯示當前目錄的路徑名 pwd ls ...
常用的Linux終端命令
linux終端命令常常用來操作伺服器,客戶端通過軟體遠端連線伺服器,對伺服器發號施令。終端命令大概有200多個,但是常用的就幾個,比如以下 1 ls a 顯示隱藏檔案 顯示當前資料夾下的內容 2 cd 檔名 file 切換到 file資料夾下 切換到上級目錄 3 pwd 顯示當前所在資料夾 4 mk...
Linux常用的終端命令
用來瀏覽檔案系統的主要命令是cd change directory 在cd命令後面,你必須規定你要切換到的目錄。例 cd 進入根目錄 命令ls list 展示當前目錄下的所有檔案和目錄。同時,你可以在ls命令後使用萬用字元 號縮小展示的內容範圍,比如 ls p 展示當前目錄下所有p開頭的檔案和目錄 ...