「docker實(shí)戰(zhàn)篇」python的docker-docker系統(tǒng)管理-基本命令(29)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝!
原文鏈接地址:「docker實(shí)戰(zhàn)篇」python的docker-docker系統(tǒng)管理-基本命令(29)

經(jīng)常使用linux、mac的系統(tǒng)的老鐵,都習(xí)慣使用命令,要靈活的使用一種操作系統(tǒng),必須要熟悉里面的命令,并不是所有都可以進(jìn)行界面化的。來(lái)一起熟悉下docker的命令。

命令合集

管理命令:
  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 則是在容器中打開(kāi)新的終端,并且可以啟動(dòng)新的線程。
3.如果想直接在終端中查看啟動(dòng)命令的輸出,用attach;其他情況使用exec。

  • 容器運(yùn)行

docker客戶端使用docker命令來(lái)運(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鏡像是否存在,如果本地沒(méi)有鏡像,docker會(huì)在docker hub下載,如果鏡像已經(jīng)存在,docker會(huì)使用它來(lái)創(chuàng)建新的容器。
2.創(chuàng)建新的容器:當(dāng)docker有了這個(gè)鏡像之后,docker會(huì)用它來(lái)創(chuàng)建一個(gè)容器。
3.分配文件系統(tǒng)并且掛載一個(gè)可讀寫(xiě)的層:容器會(huì)在文件系統(tǒng)中創(chuàng)建,并且一個(gè)可讀寫(xiě)的層被添加到鏡像中。
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)槟壳皼](méi)有退出的容器,所以報(bào)錯(cuò)。
docker rm -v $(docker ps -aq -f statue=exited)
  • 啟動(dòng)、停止、重啟、刪除docker容器
#啟動(dòng)容器
docker start <ContainerId(或者name)>
#停止容器
docker stop <ContainerId(或者name)>
#重啟容器
docker restart <ContainerId(或者name)>
#刪除容器
docker rm <ContainerId(或者name)>
#刪除所有容器
docker rm $(docker ps -a -q)
  • 更多實(shí)戰(zhàn)詳細(xì)的docker命令詳解

建議看我關(guān)于docker【初級(jí)篇】 和【中級(jí)篇】

PS:docker的基本命令很重要,但是如果會(huì)使用help這個(gè)功能官方介紹的更清楚,我這里也是把英文做了翻譯。主要還是理解原理。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 《Docker從入門(mén)到實(shí)踐》閱讀筆記 原書(shū)地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,420評(píng)論 1 39
  • 額外補(bǔ)充 查看容器運(yùn)行狀態(tài) 進(jìn)入容器內(nèi)進(jìn)行命令行操作 在容器mynginx中開(kāi)啟一個(gè)交互模式的終端 容器生命周期管...
    tianmac閱讀 4,559評(píng)論 1 2
  • 0x01 核心概念 Docker鏡像類(lèi)似于虛擬機(jī)鏡像,可以理解為一個(gè)面向Docker引擎的只讀模板,包含了文件系統(tǒng)...
    閑云逸心閱讀 4,761評(píng)論 0 9
  • 一、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開(kāi)源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,406評(píng)論 0 27
  • 親人已仙游,未呈兒孫福。游魂于千里,如何度思量。 我開(kāi)始相信,當(dāng)時(shí)之將至,人真的是會(huì)有所感的。妹妹告訴我,去年春節(jié)...
    葉小漁閱讀 246評(píng)論 0 3