[docker] 04 使用docker容器
?主要內(nèi)容:
? ? O、概念
? ? 一、創(chuàng)建&啟動容器
? ? 二、查看容器&查看容器日志
? ? 三、進入&停止&刪除容器?
? ? 四、導(dǎo)入&導(dǎo)出容器
? ? 五、其他容器命令
?
O、概念
Docker容器是鏡像的一個運行實例,容器帶有運行時需要的可寫文件層,而鏡像是靜態(tài)的只讀文件。可以使用docker container help命令查看Docker支持的容器操作子命令。
?
一、創(chuàng)建&啟動容器
?1.1.?創(chuàng)建容器命令 (參數(shù)可用man docker-create來查看)命令,這樣新建的容器處于停止狀態(tài)。
? ?語法:docker create [OPTIONS] CONTAINER [COMMAND] [ARG...]
? ?創(chuàng)建一個apline帶3.8版本的容器:
docker create -it alpine:3.8?
?1.2.?啟動容器命令(參數(shù)可用man docker-start來查看),用來啟動已創(chuàng)建的容器。
? ?語法:docker start [OPTIONS] [CONTAINER] [CONTAINER...]
? ?CONTAINER:表示可以同時啟動多個容器。
?
?1.3.?創(chuàng)建并啟動容器命令(參數(shù)可用man docker-run來查看),stop容器后也可以用該命令啟動容器。
? ?語法:docker run [OPTIONS] CONTAINER [COMMAND]
? ?常用參數(shù):
? ? -it:-i表示保持標準輸入是否打開,-t表示是否分配一個偽終端;
? ? -d:表示是否在后臺運行容器;
? ? --rm:表示容器退出后是否刪除;
? ? -p:表示映射端口;
? ? --name:指定容器別名;
? ?當用run來創(chuàng)建并啟動容器時,Docker在后臺標準執(zhí)行如下:
? ? -?檢查本地是否存在鏡像,不存在則下載鏡像;
? ? -?利用鏡像創(chuàng)建并啟動容器;
? ? -?分配一個文件系統(tǒng)給容器,并在只讀的鏡像外層掛載一層可讀寫層;
? ? -?從宿主主機配置的網(wǎng)橋接口中橋接一個虛擬接口到容器中去;
? ? -?從網(wǎng)橋的地址池配置一個IP地址給容器;
? ? -?執(zhí)行用戶指定的應(yīng)用程序;
? ? -?執(zhí)行完畢后容器被自動終止;
? ?創(chuàng)建并啟動容器,并允許用戶交互(exit?或 ctrl + d 表示退出):
docker run -it alpine:3.8 /bin/sh?
?1.4.?重啟容器命令(參數(shù)可用man docker-restart來查看)。
? ?語法:docker restart [OPTIONS] CONTAINER [COMMAND]
? ?這個命令會將一個運行中的容器先終止,然后再重新啟動。
?
二、查看容器&查看容器日志
?2.1.?查看容器列表命令(參數(shù)可用man docker-ps來查看)。
? ?語法:docker ps [OPTIONS]
? ?常用參數(shù):
? ? -a, --all:顯示所有容器,包括停止運行的容器;
? ? -f, --filter:過濾容器(如 -f --name=ne$,表示以ne結(jié)尾的容器名);
? ? -l, --latest:顯示最近創(chuàng)建的容器;
? ? --no-trunc:不截斷輸出內(nèi)容(有時候command那列太長則會顯示不完全);
?
2.2.?查看容器信息命令(參數(shù)可用man docker-inspect來查看)。?
? ?語法:docker inspect [OPTIONS] NAME|ID
? ?查看容器的網(wǎng)絡(luò)配置,grep用來過濾查看哪個配置,-A用來指定顯示的行數(shù):
docker inspect 8d | grep Networks -A 20?
?
2.3.?查看容器內(nèi)進程(參數(shù)可用man docker-top來查看)。?
? ?語法:docker top CONTAINER
?
2.4.?查看容器統(tǒng)計信息(參數(shù)可用man docker-stats來查看),會顯示CPU、內(nèi)存、存儲、網(wǎng)絡(luò)的使用情況信息。?
? ?語法:docker stats [OPTIONS] [CONTAINER...]
docker stats -a?
2.5.?查看容器輸出內(nèi)容(參數(shù)可用man docker-logs來查看),用來獲取容器輸出信息。?
? ?語法:docker logs [OPTIONS] CONTAINER
? ?常用參數(shù):
? ? -f, -follow:保持持續(xù)輸出;
? ? -tail string:輸出最近的若干日志:
? ? -t, -timestamps:顯示時間戳信息;
? ? -since string:輸出某個時間開始的日志;
? ? -until string:輸出某個時間之前的日志;
? ? -details:打印詳細信息;
?
三、進入&停止&刪除容器
?3.1.?進入容器命令(參數(shù)可用man docker-exec來查看)。
? ?語法:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
? ?進入容器:
docker exec -it 8d /bin/sh? ?
?
?3.2.?暫停&恢復(fù)容器命令(參數(shù)可用man docker-pause 或 man docker-unpause來查看)。
? ?語法:docker pause CONTAINER [CONTAINER...]? /? docker unpause CONTAINER [CONTAINER...]
? ?暫停和恢復(fù)容器:
?
?3.3.?終止容器命令(參數(shù)可用man docker-stop)。
? ?語法:docker stop [OPTIONS] CONTAINER [CONTAINER...]
? ?這個命令會先向容器發(fā)送SIGTERM信號,等待一段超時時間后(默認10s),再發(fā)送SIGKILL信號來終止容器。
? ?清除所有處于停止狀態(tài)的容器:
docker container prune?
3.4.?刪除容器命令(參數(shù)可用man docker-rm)。
? ?語法:docker rm [OPTIONS] CONTAINER [CONTAINER...]
? ?常用參數(shù):
? ? -f, --force:是否強行終止一個運行中的容器,在沒有-f參數(shù)時,rm只能刪除已經(jīng)停止或退出狀態(tài)的容器,不能刪除運行中的容器;
? ? -l, --link:刪除容器的連接,但保留容器;
? ? -v, --volumes:刪除容器掛載的數(shù)據(jù)卷;
?
四、導(dǎo)入&導(dǎo)出容器
?4.1.?導(dǎo)出容器命令(參數(shù)可用man docker-export來查看),用于導(dǎo)出容器到tar文件,這個tar文件是容器當時的快照狀態(tài)。
? ?語法:docker export [OPTIONS] CONTAINER
? ?將容器在當前目錄導(dǎo)出為alpine.tar的文件:
docker export -o alpine2.tar 8d 或 docker export > alpine2.tar 8d?
?4.2. 導(dǎo)入容器命令(參數(shù)可用man docker-import來查看),用于導(dǎo)入tar文件變?yōu)殓R像。
? ?語法:docker import [OPTIONS] FILE|URL [REPOSITORY[:TAG]]
? ?將alpine.tar容器快照到本地鏡像庫,和load的區(qū)別在于:鏡像存儲文件會保存所有歷史記錄,而容器快照文件會丟棄所有歷史記錄和元數(shù)據(jù)信息,在導(dǎo)入時可以重新指定標簽等元數(shù)據(jù)信息。
docker import alpine2.tar alpine:2?
?
五、其他容器命令
?5.1.?復(fù)制文件命令(參數(shù)可用man docker-cp來查看),用于容器和主機之間復(fù)制文件。
? ?語法:docker?cp?[OPTIONS] CONTAINER:SRC_PATH DEST_PATH | docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
? ?復(fù)制本地文件到容器里:
vi test.sh docker cp test.sh 8d:/? ?復(fù)制容器文件到本地:
docker cp 8d:/etc/passwd /root?
?5.2.?查看容器變更命令(參數(shù)可用man docker-diff來查看)。
? ?語法:docker diff CONTAINER
?
?5.3.?查看容器端口映射(參數(shù)可用man docker-port來查看):?
? ?語法:docker port CONTAINER
?
?5.4.?更新容器配置(參數(shù)可用man docker-update來查看),用于更新容器一些運行時配置:?
? ?語法:docker port [OPTIONS] CONTAINER [CONTAINER...]
?
轉(zhuǎn)載于:https://www.cnblogs.com/allbetter/p/11062271.html
總結(jié)
以上是生活随笔為你收集整理的[docker] 04 使用docker容器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch笔记:09)Attenti
- 下一篇: MySql中常用的内置函数