十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
經(jīng)常使用linux、mac的系統(tǒng)的老鐵,都習(xí)慣使用命令,要靈活的使用一種操作系統(tǒng),必須要熟悉里面的命令,并不是所有都可以進(jìn)行界面化的。來一起熟悉下docker的命令。
成都創(chuàng)新互聯(lián)企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁中充分展現(xiàn),通過對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
管理命令: ??container???管理容器 ??image???????管理鏡像 ??network?????管理網(wǎng)絡(luò) ??node????????管理Swarm節(jié)點(diǎn) ??plugin??????管理插件 ??secret??????管理Docker?secrets ??service?????管理服務(wù) ??stack???????管理Docker?stacks ??swarm???????管理Swarm集群 ??system??????查看系統(tǒng)信息 ??volume??????管理卷 ??如:docker?container?ls?顯示所有容器 普通命令: ??attach?????進(jìn)入一個(gè)運(yùn)行的容器 ??build??????從一個(gè)DockerFile構(gòu)建鏡像 ??commit?????從容器創(chuàng)建一個(gè)鏡像 ??cp??????????從容器和主機(jī)文件系統(tǒng)之間拷貝文件? ??create??????創(chuàng)建一個(gè)容器 ??diff????????檢查容器文件系統(tǒng)上的更改 ??events??????從服務(wù)器獲取實(shí)時(shí)事件 ??exec????????在正在運(yùn)行的容器中運(yùn)行命令 ??export??????將容器的文件系統(tǒng)導(dǎo)出為tar存檔 ??history?????顯示鏡像的歷史記錄 ??images??????查看鏡像列表 ??import??????從歸檔文件中創(chuàng)建鏡像 ??info????????顯示系統(tǒng)范圍的信息 ??inspect?????返回Docker對(duì)象的低級(jí)信息 ??kill????????kill運(yùn)行中的容器 ??load????????從存檔或者STDIN加載鏡像 ??login???????登陸docker鏡像倉(cāng)庫(kù) ??logout??????退出docker鏡像倉(cāng)庫(kù) ??logs????????獲取一個(gè)容器的日志 ??pause???????暫停一個(gè)或多個(gè)容器中的所有進(jìn)程 ??port????????查看端口映射或容器的特定映射列表 ??ps??????????查看容器列表 ??pull????????從鏡像倉(cāng)庫(kù)拉取鏡像 ??push????????將本地的鏡像上傳到鏡像倉(cāng)庫(kù),要先登陸到鏡像倉(cāng)庫(kù) ??rename??????重命名容器 ??restart?????重啟容器 ??rm??????????刪除容器 ??rmi?????????刪除鏡像 ??run?????????創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令 ??save????????將指定鏡像保存成?tar?歸檔文件 ??search??????從Docker?Hub搜索鏡像 ??start???????啟動(dòng)容器 ??stats???????實(shí)時(shí)顯示容器資源使用情況的統(tǒng)計(jì)信息 ??stop???????停止容器 ??tag?????????標(biāo)記本地鏡像,將其歸入某一倉(cāng)庫(kù) ??top?????????展示一個(gè)容器中運(yùn)行的進(jìn)程 ??unpause?????恢復(fù)容器中所有的進(jìn)程 ??update??????更新容器配置 ??version????顯示Docker的版本信息 ??wait????????阻塞直到容器停止,然后打印退出代碼 ??如:docker?images?顯示所有鏡像
讓容器長(zhǎng)期運(yùn)行
docker?run?-d?centos?/bin/bash?-c?"while?true;?do?sleep?1;done"
進(jìn)入容器查看容器運(yùn)行的情況
docker?attach?容器ID
進(jìn)入容器內(nèi)部
docker?exec?-it?容器ID?/bin/bash
attach 與 exec 主要區(qū)別如下
1.attach 直接進(jìn)入容器啟動(dòng)命令的終端,不會(huì)啟動(dòng)新的線程。
2.exec 則是在容器中打開新的終端,并且可以啟動(dòng)新的線程。
3.如果想直接在終端中查看啟動(dòng)命令的輸出,用attach;其他情況使用exec。
容器運(yùn)行
>docker客戶端使用docker命令來運(yùn)行的,run的參數(shù)表名客戶端要運(yùn)行一個(gè)新的客戶端
>1.這個(gè)容器從哪個(gè)鏡像創(chuàng)建,這里是centos,基本的centos鏡像
>2.在容器要運(yùn)行的命令,這里是/bin/bash,在容器中運(yùn)行Bash shell。
docker?run?-it?centos?/bin/bash
那么運(yùn)行上邊的命令之后在底層發(fā)生了什么呢?
按照順序,docker做了這些事情:
1.拉取centos鏡像:docker檢查centos鏡像是否存在,如果本地沒有鏡像,docker會(huì)在docker hub下載,如果鏡像已經(jīng)存在,docker會(huì)使用它來創(chuàng)建新的容器。
2.創(chuàng)建新的容器:當(dāng)docker有了這個(gè)鏡像之后,docker會(huì)用它來創(chuàng)建一個(gè)容器。
3.分配文件系統(tǒng)并且掛載一個(gè)可讀寫的層:容器會(huì)在文件系統(tǒng)中創(chuàng)建,并且一個(gè)可讀寫的層被添加到鏡像中。
4.分配網(wǎng)絡(luò)/橋接接口:創(chuàng)建一個(gè)允許容器與本地主機(jī)通信的網(wǎng)絡(luò)接口。
5.設(shè)置一個(gè)IP地址:從池中尋找一個(gè)可用的IP地址并且附加到容器上。
6.運(yùn)行你指定的程序:運(yùn)行指定的程序
7.捕獲并且提供應(yīng)用輸出:連接并且記錄標(biāo)準(zhǔn)輸出,輸入和錯(cuò)誤讓你可以看到你的程序是如何運(yùn)行的。
批量刪除結(jié)束的容器
#因?yàn)槟壳皼]有退出的容器,所以報(bào)錯(cuò)。 docker?rm?-v?$(docker?ps?-aq?-f?statue=exited)
啟動(dòng)、停止、重啟、刪除docker容器
#啟動(dòng)容器 docker?start?#停止容器 docker?stop? #重啟容器 docker?restart? #刪除容器 docker?rm? #刪除所有容器 docker?rm?$(docker?ps?-a?-q)
更多實(shí)戰(zhàn)詳細(xì)的docker命令詳解
>建議看我關(guān)于docker【初級(jí)篇】 和【中級(jí)篇】
PS:docker的基本命令很重要,但是如果會(huì)使用help這個(gè)功能官方介紹的更清楚,我這里也是把英文做了翻譯。主要還是理解原理。
>>原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝!
>>原文鏈接地址:「docker實(shí)戰(zhàn)篇」python的docker-docker系統(tǒng)管理-基本命令(29)