docker是幹什麼的,docker常用命令每日一練
目錄
一、百度百科
Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴到一個可移植的映象中,然後釋出到任何流行的Linux或Windows機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
一個完成的docker有以下幾個部分組成:
- DockerClient 客戶端
- Docker Daemon 守護程序
- Docker Image 映象
- Docker Container 容器
二、Docker安裝
1、解除安裝Docker
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
2、需要的安裝包
yum install -y yum-utils
3、設定映象倉庫
- yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo
用國內的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新軟體包索引
yum mackecache fast
4、安裝Docker相關
ce社群版,ee企業版,推薦安裝企業版
yum install docker-ce docker-ce-cli containerd.io
5、啟動Docker
systemctl start docker
6、使用docker version檢視版本
7、啟動hello world映象
docker run hello-world
8、解除安裝
- yum remove docker-ce docker-ce-cli containerd.io
- rm -rf /var/lib/docker
- rm -rf /var/lib/containerd
三、run的流程和docker原理
1、run的流程
2、docker原理
3、docker為何比VM快?
- Docker有著比虛擬機器更少的抽象層
- docker利用的是宿主機的核心,VM需要的是Guest OS。
四、Docker映象常用命令
1、基本命令
docker version
docker info
docker 命令 --help #萬能命令
docker images
解釋:
- REPOSITORY:映象的倉庫源
- TAG:映象的標籤
- IMAGE ID:映象的ID
- CREATE:映象的建立時間
- SIZE:映象的大小
可選項
-a:列出全部的映象
-q:只顯示映象的ID
2、搜尋映象
docker search
可選項
--filter-STATUS-3000 #搜尋大於3000的
3、下載映象
指定版本下載
docker pull 映象名[:tag]
4、刪除映象
docker rmi -f 映象id
五、docker容器常用命令
1、下載容器
docker pull centos
2、docker run [可選引數] image
引數說明:
- --name 容器名稱
- -d 後臺方式執行
- -it 使用互動方式執行,進入容器檢視內容(例如:docker run -it centos /bin/bash)
- -p 指定容器的埠號 -p 8080:8080(主機埠:容器埠)
3、列出所有的執行的容器
docker ps [引數]
- -a 列出當前正在執行的容器
- -n 顯示最近建立的容器
- -q 只顯示容器的編號
例如:docker ps -aq 顯示當前正在執行的容器的編號
4、退出容器
exit
5、刪除容器
- docker rm 容器id 不能刪除正在執行的容器
- docker rm -f $(docker ps -a) 刪除所有的容器
- docker ps -a -q|xargs docker rm 刪除所有的容器
6、啟動和停止容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id
- docker kill 容器id 強制停止
7、進入當前正在執行的容器
方式一:docker exec -it 容器id /bin/bash 進入容器後開啟一個新的終端(常用)
方式二:docker attach 容器id 進入容器當前正在執行的終端
8、從容器內拷貝檔案到主機
docker cp 容器id:容器內路徑 主機路徑
例如:docker cp 容器id:/home/test.java /home
9、其它常用命令
(1)後臺啟動容器 -d
(2)檢視日誌命令
docker logs --help
顯示指定行數的日誌:
docker logs -tf --tail 10 容器id
-f:內容,,,-t:時間
例如:迴圈執行
docker run -d centos /bin/sh -c "while;do echo hello world;sleep 1;done"
(3)顯示容器中的進行資訊
檢視docker內部的程序資訊:docker top 容器id
(4)檢視容器的元資料
docker inspect --help
顯示容器的所有資訊:
docker inspect 容器id
六、docker常用命令小結
常用命令 | 命令含義 |
attach | 當前shell下attach連線指定執行映象 |
build | 通過Dockerfile定製映象 |
commit | 提交當前容器為新的映象 |
cp | 從容器中拷貝指定檔案或者目錄到宿主機中 |
create | 建立一個新的容器,同run 但不啟動容器 |
diff | 檢視docker容器變化 |
events | 從docker服務獲取容器實時事件 |
exec | 在已存在的容器上執行命令 |
export | 匯出容器的內容流作為一個tar歸檔檔案(對應import) |
history | 展示一個映象形成歷史 |
images | 列出系統當前映象 |
import | 從tar包中的內容建立一個新的檔案系統映像(對應export) |
info | 顯示系統相關資訊 |
inspect | 檢視容器詳細資訊 |
kill | 強制停止指定docker容器 |
load | 從一個tar包中載入一個映象(對應save) |
login | 註冊或者登陸一個docker源伺服器 |
logout | 從當前Docker registry退出 |
logs | 輸出當前容器日誌資訊 |
pause | 暫停容器 |
port | 檢視對映埠對應的容器內部源埠 |
ps | 列出容器列表 |
pull | 從docker映象源伺服器拉取指定映象或者庫映象 |
push | 推送指定映象或者庫映象至docker源伺服器 |
rename | 重新命名容器 |
restart | 重啟執行的容器 |
rm | 移除一個或者多個容器 |
rmi | 移除一個或多個映象(無容器使用該映象才可以刪除,否則需要刪除相關容器才可以繼續或者-f強制刪除) |
run | 建立一個新的容器並執行一個命令 |
save | 儲存一個映象為一個tar包(對應load) |
search | 在docker hub中搜索映象 |
start | 啟動容器 |
stats | 統計容器使用資源 |
stop | 停止容器 |
tag | 給源中映象打標籤 |
top | 檢視容器中執行的程序資訊 |
unpause | 取消暫停容器 |
version | 檢視容器版本號 |
wait | 擷取容器停止時的退出狀態值 |
轉載請註明原文連結:https://www.cnblogs.com/yuanyuzhou/p/15809113.html
個人網站:www.dianjilingqu.com