???科技奇聞???
關注讓你我共同進步
? 文章來源:CSDN
? 作者:IronmanJay
Docker常用命令
1.幫助命令
docker version #查看版本號docker info #顯示Docker系統信息,包括鏡像和容器數docker --help #查看Docker有哪些命令
2.鏡像命令
docker images #查看當前Docker中的鏡像docker search 某個鏡像名字 #查詢某個鏡像docker pull 某個鏡像名字 #拉取(下載)某個鏡像docker rmi 某個鏡像名字ID #刪除某個鏡像
3.容器基本命令(切記,有鏡像才能創建容器)
docker run [OPTIONS] image [COMMAND] [ARG...] #新建并啟動容器docker ps [OPTIONS] #列出當前所有正在運行的容器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 #一次性刪除多個容器
4.容器重要命令
docker run -d 容器名 #啟動守護式容器docker?logs?-f?-t?--tail?容器ID??????#查看容器日志,-t是加入時間戳,-f是最新的日志打印,--tail數字顯示最后多少條docker top 容器ID #查看容器內運行的進程docker inspect 容器ID #查看容器內部細節docker exec -it 容器ID bashShell #進入正在運行的容器并以命令行交互docker attach 容器ID #重新進入Docker容器docker cp 容器ID:容器內路徑 目的主機路徑 #從容器內拷貝文件到主機上
Docker 鏡像
1、Docker鏡像是什么?是一種UnionFS(聯合文件系統),是一種分層、輕量級并且高性能的文件系統,它支持對文件系統的修改作為一次提交來一層層的疊加,同時可以將不同目錄掛載到同一個虛擬文件系統下(unite several directories into a single virtual filesystem)。Union 文件系統是 Docker 鏡像的基礎。鏡像可以通過分層來進行繼承,基于基礎鏡像(沒有父鏡像),可以制作各種具體的應用鏡像。2、Docker鏡像加載原理Docker的鏡像實際上由一層一層的文件系統組成,這種層級的文件系統UnionFS。bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引導加載kernel, Linux剛啟動時會加載bootfs文件系統,在Docker鏡像的最底層是bootfs。這一層與我們典型的Linux/Unix系統是一樣的,包含boot加載器和內核。當boot加載完成之后整個內核就都在內存中了,此時內存的使用權已由bootfs轉交給內核,此時系統也會卸載bootfs。3、Docker鏡像為什么很小如果我們從倉庫pull一個centos只有200左右mb,但是我們的鏡像centos文件高達4G左右,因為我們的在倉庫pull的centos剔除了無用的東西,只是一個精簡的OS,rootfs可以很小,只包含了最基本的命令、工具和程序庫就可以了,因為底層直接用Host的kernel,自己只需要提供rootfs 就行了。4、Docker分層的鏡像如下圖所見,當我們在倉庫下載tomcat時,是一層一層下載的,這里面包含著運行tomcat的環境,就像洋蔥一樣,一層一層的最終展示給我們鏡像版的tomcat。
