docker命令總結(jié)

安裝Docker:

  • ubuntu安裝:
curl -s https://get.docker.io/ubuntu/ | sudo sh 

鏡像管理

  • docker images:列出本地所有鏡像
  • docker search <IMAGE_ID/NAME>:查找image
  • docker pull <IMAGE_ID>:下載image
  • docker push <IMAGE_ID>:上傳image
  • docker rmi <IMAGE_ID>:刪除image

容器管理

  • docker run -i -t <IMAGE_ID> /bin/bash
    -i:標(biāo)準(zhǔn)輸入給容器
    -t:分配一個(gè)虛擬終端
    /bin/bash:執(zhí)行bash腳本
    -d:以守護(hù)進(jìn)程方式運(yùn)行(后臺(tái))
    -P:默認(rèn)匹配docker容器的5000端口號(hào)到宿主機(jī)的49153 to 65535端口
    -p <HOT_PORT>:<CONTAINER_PORT>:指定端口號(hào)
    -name: 指定容器的名稱
    -rm:退出時(shí)刪除容器

  • docker stop <CONTAINER_ID>:停止container

  • docker start <CONTAINER_ID>:重新啟動(dòng)container

  • docker ps - Lists containers.
    -l:顯示最后啟動(dòng)的容器
    -a:同時(shí)顯示停止的容器,默認(rèn)只顯示啟動(dòng)狀態(tài)

  • docker attach <CONTAINER_ID> 連接到啟動(dòng)的容器

  • docker logs <CONTAINER_ID>: 輸出容器日志
    -f:實(shí)時(shí)輸出

  • docker cp <CONTAINER_ID>:path - hostpath:復(fù)制容器內(nèi)的文件到宿主機(jī)目錄上

  • docker rm <CONTAINER_ID>:刪除container

  • docker rm `docker ps -a -q`:刪除所有容器

  • docker kill `docker ps -q`

  • docker rmi `docker images -q -a`

  • docker wait <CONTAINER_ID>:阻塞對(duì)容器的其他調(diào)用方法,直到容器停止后退出

  • docker top <CONTAINER_ID>:查看容器中運(yùn)行的進(jìn)程

  • docker diff <CONTAINER_ID>:查看容器中的變化

  • docker inspect <CONTAINER_ID>:查看容器詳細(xì)信息(輸出為Json)
    -f:查找特定信息,如docker inspect -f '{{ .NetworkSettings.IPAddress }}' docker commit -m "comment" -a "author" <CONTAINER_ID> ouruser/imagename:tag

  • docker extc -it <CONTAINER> <COMMAND>:在容器里執(zhí)行命令,并輸出結(jié)果

網(wǎng)絡(luò)管理

  • docker run -P:隨機(jī)分配端口號(hào)
  • docker run -p 5000:5000:綁定特定端口號(hào)(主機(jī)的所有網(wǎng)絡(luò)接口的5000端口均綁定容器的5000端口)
  • docker run -p 127.0.0.1:5000:5000:綁定主機(jī)的特定接口的端口號(hào)
  • docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:綁定udp端口號(hào)
  • docker port <CONTAINER_ID> 5000:查看容器的5000端口對(duì)應(yīng)本地機(jī)器的IP和端口號(hào)
    使用Docker Linking連接容器:
    Docker為源容器和接收容器創(chuàng)建一個(gè)安全的通道,容器之間不需要暴露端口,接收的容器可以訪問源容器的數(shù)據(jù)
  • docker run -d -P --name <CONTAINER_NAME> --link <CONTAINER_NAME_TO_LINK>:<ALIAS>

數(shù)據(jù)管理

Data Volumes:volume是在一個(gè)或多個(gè)容器里指定的特殊目錄
數(shù)據(jù)卷可以在容器間共享和重復(fù)使用
可以直接修改容器卷的數(shù)據(jù)
容器卷里的數(shù)據(jù)不會(huì)被包含到鏡像中
容器卷保持到?jīng)]有容器再使用它
可以在容器啟動(dòng)的時(shí)候添加-v參數(shù)指定容器卷,也可以在Dockerfile里用VOLUMN命令添加

  • docker run -d -P --name web -v /webapp training/webapp python app.py
    也可以將容器卷掛載到宿主機(jī)目錄或宿主機(jī)的文件上,<容器目錄或文件>的內(nèi)容會(huì)被替換為<宿主機(jī)目錄或文件>的內(nèi)容,默認(rèn)容器對(duì)這個(gè)目錄有可讀寫權(quán)限
  • docker run -d -P --name web -v <宿主機(jī)目錄>:<容器目錄> training/webapp python app.py
    可以通過指定ro,將權(quán)限改為只讀
  • docker run -d -P --name web -v <宿主機(jī)目錄>:<容器目錄>:ro training/webapp python app.py
    在一個(gè)容器創(chuàng)建容器卷后,其他容器便可以通過--volumes-from共享這個(gè)容器卷數(shù)據(jù),如下:
  • docker run -d -v /dbdata --name db1 training/postgres echo Data-only container for postgres
    首先啟動(dòng)了一個(gè)容器,并為這個(gè)容器增加一個(gè)數(shù)據(jù)卷/dbdata,然后啟動(dòng)另一個(gè)容器,共享這個(gè)數(shù)據(jù)卷
  • docker run -d --volumes-from db1 --name db2 training/postgres
    此時(shí)db2使用了db1的容器卷,當(dāng)容器db1被刪除時(shí),容器卷也不會(huì)被刪除,只有所有容器不再使用此容器卷時(shí),才會(huì)被刪除
  • docker rm -v:刪除容器卷
    除了共享數(shù)據(jù)外,容器卷另一個(gè)作用是用來備份、恢復(fù)和遷移數(shù)據(jù)
  • docker run --volumes-from db1 -v /home/backup:/backup ubuntu tar cvf /backup/backup.tar /dbdata
    啟動(dòng)一個(gè)容器數(shù)據(jù)卷使用db1容器的數(shù)據(jù)卷,同時(shí)新建立一個(gè)數(shù)據(jù)卷指向宿主機(jī)目錄/home/backup,將/dbdata目錄的數(shù)據(jù)壓縮為/backup/backup.tar
  • docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
  • docker run --volumes-from dbdata2 -v /home/backup:/backup busybox tar xvf /backup/backup.tar
    啟動(dòng)一個(gè)容器,同時(shí)把backup.tar的內(nèi)容解壓到容器的backup

倉庫管理

  • docker login:登錄
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡(jiǎn)介 Docke...
    極客圈閱讀 10,740評(píng)論 0 120
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統(tǒng)的并且容器的端口非本地主機(jī)是訪問不到的。此外,除了...
    R_X閱讀 1,954評(píng)論 0 7
  • docker 部署 標(biāo)簽(空格分隔): docker 系統(tǒng)centos6.8 mini docker 官方文檔ht...
    Lisong閱讀 751評(píng)論 0 1
  • 一、Docker 簡(jiǎn)介 Docker 兩個(gè)主要部件:Docker: 開源的容器虛擬化平臺(tái)Docker Hub: 用...
    R_X閱讀 4,510評(píng)論 0 27
  • 我所理解的生活,就是做自己喜歡的事情,用自己的雙手去養(yǎng)活自己,養(yǎng)活家人。 生活不是攀爬高山,也不是深淺海溝,它只是...
    伊唯洛閱讀 286評(píng)論 0 0

友情鏈接更多精彩內(nèi)容