前面了解完了docker的原理以及一些基礎知識,這次就來進行實踐操作
列出本地映象
docker images
repository:表示映象的倉庫源同一倉庫源可以有多個tag:映象的標籤
image id:映象id
created:映象建立時間
size:映象大小
tag
,代表這個倉庫源的不同個版本,使用repository:tag
來定義不同的映象。預設使用***:latest
映象
#列出本地所有的映象(含中間映像層)
docker images -a
#只顯示映象id
docker images -q
--digests:只顯示映象的摘要資訊
--no-trunc:顯示完整的映象資訊
搜尋映象docker search 映象名稱
選項說明:
--no-trunc:顯示完整的映象資訊
-s:列出收藏數不小於指定值的映象
--automated:只列出automated build型別的映象
docker pull 映象名稱[
刪除映象
docker rmi -f 映象名稱[
:tag]
#注:如果後面不加本版號,刪除的是最新版本的
#刪除多個
docker rmi -f 映象名1
:tag 映象名2
:tag
#刪除全部
新建並啟動容器
docker run[options] image [command]
[arg...
]
#options說明:
options說明(常用)
:有些是乙個減號,有些是兩個減號
--name=
"容器新名字"
:為容器指定-乙個名稱;
-d: 後台執行容器, 並返回容器id, 也即啟動守護式容器;
-i: 以互動模式執行容器,通常與-t同時使用;
-t: 為容器重新分配一乙個偽輸入終端,通常與-i同時使用;
-p:隨機埠對映;
-p:指定埠對映,有以下四種格式
ip:hostport:containerport
ip::containerport
hostport:containerport
containerport
列出當前正在執行的所有容器docker ps[options]
#options說明
options說明(常用)
:-a :列出當前所有正在執行的容器+歷史上執行過的
-l:顯示最近建立的容器。
-n:顯示最近n個建立的容器。
-q :靜默模式,只顯示容器編號。
--no-trunc :不截斷輸出。
兩種退出方式exit
#容器停止退出
ctrl+p+q
#容器不停止退出
啟動容器docker start id
重啟容器docker restart id
停止容器#正常停止
docker stop id
#強制關閉
docker kill id
刪除容器docker rm id
#加-f強制刪除
一次刪除多個容器
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 run -d centos /bin/sh -c "while true;do echo lemon;sleep 2;done"
這樣的命令便可以在後台模式下啟動乙個容器 ,有乙個前台程序。
檢視容器日誌
docker logs -f -t --tail 容器id
#引數說明:
-t 加入時間戳
-f 跟隨最新的日誌列印
--tail 數字顯示最後多少條
重新進入容器並以命令列互動#進入互動介面
docker attach 容器id
#進入互動介面
docker exec -it 容器id /bin/bash
#直接執行命令
docker exec -it 容器id ls -l /tmp
容器內的檔案拷貝到主機上
docker cp 容器id:容器內路徑 目的主機路徑
docker容器命令
1.docker run it name container name repository tag image id bin bash 互動方式啟動docker容器 例如docker run it name mycentos centos 7 bin bash 2.docker run d nam...
docker容器命令
這樣就建立了乙個新的centos容器了。那如果退出呢?通過exit命令就可以退出了 docker run di name 容器名稱 映象名稱 標籤 這個時候我們建立成功了,但是現在還是在本地,還沒有進入到centos容器中,但我們檢視的時候,發現容器已經是在執行了 那我們怎麼進入到這個centos容...
docker容器命令
1.新建並啟動容器 docker run options image command arg options 2.列出執行的容器 docker ps options options 3.啟動容器 docker start 容器id或者容器名 4.重啟容器 docker restart 容器id或者容...