Docker常用命令(零)

docker的安裝以及鏡像,容器,倉庫的基本操作

docker的安裝(centos7中可以直接yum安裝)

????yum install –y docker

# 搜索鏡像

docker search <image> # 在docker index中搜索image

????--automated=false 僅顯示自動創(chuàng)建的鏡像

????--no-trunc=false 輸出信息不截斷顯示

????-s 0 指定僅顯示評價為指定星級的鏡像

# 下載鏡像

docker pull <image> # 從docker registry server 中下拉image

還可通過指定標簽下載某鏡像

????docker pull [:TAG]

????docker pull centos:7


# 存出和載入鏡像

????存出本地鏡像文件為.tar

????docker save -o ubuntu_14.04.tar ubuntu:14.04

????導(dǎo)入鏡像到本地鏡像庫

????docker load --input ubuntu_14.04.tar或者

????docker load < ubuntu_14.04.tar

# 上傳鏡像

????用戶在dockerhub網(wǎng)站注冊后,即可上傳自制的鏡像。

????docker push NAME[:TAG]


# 創(chuàng)建(使用鏡像創(chuàng)建容器):

????首先得查看鏡像的REPOSITORY和TAG

docker run -i -t REPOSITORY:TAG (等價于先執(zhí)行docker create 再執(zhí)行docker start 命令)

其中-t選項讓docker分配一個偽終端并綁定到容器的標準輸入上, -i則讓容器的標準輸入保持打開。若要在后臺以守護態(tài)(daemonized)形式運行,可加參數(shù)-d


啟動容器。? docker run -t -i nginx /bin/bash? ? ?#nginx為容器

exit退出容器

docker attach [container_id] #連接一個正在運行的container實例(即實例須為start狀態(tài),可以多個 窗口同時attach 一個container實例),但當某個窗口因命令阻塞時,其它窗口也無法執(zhí)行了。

exec可直接在容器內(nèi)運行的命令。docker exec -ti [container_id] /bin/bash


# 刪除容器:

docker rm <container...> #:刪除一個或多個container

docker rm `docker ps -a -q` #:刪除所有的container

docker ps -a -q | xargs docker rm #:同上, 刪除所有的container


docker -rm

????-f 強制中止并運行的容器

????-l 刪除容器的連接,但保留容器

????-v 刪除容器掛載的數(shù)據(jù)卷


# 修改容器:

docker commit <container> [repo:tag] # 將一個container固化為一個新的image,后面的repo:tag可選。


# 導(dǎo)入和導(dǎo)出容器:

????導(dǎo)出到一個文件,不管是否處于運行狀態(tài)。

????docker export CONTAINER > test.tar


????導(dǎo)入為鏡像:

cat test.tar | docker import - centos:latest


docker啟動命令,docker重啟命令,docker關(guān)閉命令

啟動? ? ????systemctl start docker

守護進程重啟 ??sudo systemctl daemon-reload

關(guān)閉docker服務(wù) ??systemctl restart ?docker

重啟docker服務(wù) ?sudo service docker restart

沒有報錯就說明關(guān)閉和重啟成功!

docker start/stop/restart <container> #:開啟/停止/重啟container

停止所有的container,這樣才能夠刪除其中的images:?

? ? ? docker stop $(docker ps -a -q)

docker ps -a -q? ?查看全部的容器id

? ? ?-a標志列出所有容器,-q標志只列出容器的ID,然后傳遞給rm命令

刪除全部image的:? docker rmi $(docker images -q)

docker rmi <image ID>: # 刪除一個或多個image

docker images? ? ? ? ?# 查看本地鏡像dockerimages

docker start

# 啟動一個已經(jīng)停止的容器dockerstart 容器ID# 重啟一個容器docker restart 容器ID

docker attach

# 進入一個運行中的容器dockerattach 容器ID


docker rmi?鏡像名

# 刪除所有鏡像docker rmi $(docker images| grep -v RESPOSITORY |awk'{print $3}')

docker build

# 構(gòu)建容器dockerbuild -t 鏡像名稱 .# 后面的. 指的是當前文件夾 (其實是Dockerfile存放的文件夾)# 建立映像文件。–rm 選項是告訴Docker,在構(gòu)建完成后刪除臨時的Container,Dockerfile的每一行指令都會創(chuàng)建一個臨時的Container,一般這些臨時生成的Container是不需要的docker build --rm=true-t loen/lamp .

刪除容器:docker -rm??CONTAINERID?

強制刪除容器:docker -rm -f CONTAINERID?

不能夠刪除一個正在運行的容器,會報錯。需要先停止容器。

刪除鏡像:docker -rmi??IMAGEID

強制刪除鏡像:docker -rmi -f? IMAGEID??

# 刪除容器docker rm 容器ID# 刪除所有容器docker rm $(docker ps-a)

docker history

# 查看歷史dockerhistory鏡像ID

docker export

# 導(dǎo)出容器dockerexport容器ID > xxx.tar

docker save???

# 把 mynewimage 鏡像保存成 tar 文件dockersave myimage | bzip2 -9-c> /home/save.tar.bz2

docker load

# 加載 myimage 鏡像bzip2-d-c < /home/save.tar.bz2 | docker load

sudo docker inspect 74eb50b00a3a? ? ? ? 查看ip為74容器的詳細信息

獲取所有容器名稱及其IP地址:

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

docker rename old_name new_name更改容器的名稱????


docker info

顯示 Docker 系統(tǒng)信息,包括鏡像和容器數(shù)。???!

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

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

  • docker常用命令詳解 - CSDN博客 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個選項的...
    Meathill大魔王閱讀 885評論 1 2
  • 一、Docker 簡介 Docker 兩個主要部件:Docker: 開源的容器虛擬化平臺Docker Hub: 用...
    R_X閱讀 4,521評論 0 27
  • 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個選項的細節(jié),請參考官方文檔,這里只作為自己以后的備...
    Joncc閱讀 319評論 0 0
  • 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個選項的細節(jié),請參考官方文檔,這里只作為自己以后的備...
    BestbpF閱讀 300評論 0 0
  • 1 概念介紹 什么是coreData? coreData 是一個對象圖管理器(object graph manag...
    Little__ZM閱讀 812評論 0 5

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