Docker container常用的命令

2021-07-12 04:50:26 字數 4279 閱讀 7748

今天操作docker命令,顯然不那麼令人滿意,總結一下常用命令

安裝docker:

顯像管理

docker images:列出本地所有映象

docker search :查詢image

docker pull :

docker push :上傳image

docker rmi :刪除image

容器管理

docker run -i -t /bin/bash:-i:標準輸入給容器    -t:分配乙個虛擬終端    /bin/bash:執行bash指令碼

-d:以守護程序方式執行(後台)

-p:預設匹配docker容器的5000埠號到宿主機的49153 to 65535埠

-p ::指定埠號

- -name: 指定容器的名稱

- -rm:退出時刪除容器

docker stop :

停止container

docker start

:重新啟動container

docker ps - lists containers.

-l:顯示最後啟動的容器

-a:同時顯示停止的容器,預設只顯示啟動狀態

docker attach 連線到啟動的容器

docker logs : 輸出容器日誌

-f:實時輸出

docker cp :path hostpath:複製容器內的檔案到宿主機目錄上

docker rm 

:刪除container

docker rm `docker ps -a -q`:刪除所有容器
docker kill `docker ps -q`
docker rmi `docker images -q -a`
docker wait :阻塞對容器的其他呼叫方法,直到容器停止後退出

docker top :檢視容器中執行的程序
docker diff :檢視容器中的變化

docker inspect :檢視容器詳細資訊(輸出為json)

-f:查詢特定資訊,如

docker inspect -f 

'}'

docker commit -m "comment" -a "author" ouruser/imagename:tag

docker extc -it :在容器裡執行命令,並輸出結果

網路管理

docker run -p:隨機分配埠號

docker run -p 5000:5000:繫結特定埠號(主機的所有網路介面的5000埠均繫結容器的5000埠)

docker run -p 127.0.0.1:5000:5000:繫結主機的特定介面的埠號

docker run -d 

-p 127.0

.0.1

:5000

:5000

/udp training/.

py:繫結udp埠號

docker port

5000:檢視容器的5000埠對應本地機器的ip和埠號

使用docker linking連線容器:
docker為源容器和接收容器建立乙個安全的通道,容器之間不需要暴露埠,接收的容器可以訪問源容器的資料
docker run -d -p --name --link :

資料管理

data volumes:volume是在乙個或多個容器裡指定的特殊目錄

可以在容器啟動的時候新增-v引數指定容器卷,也可以在dockerfile裡用volumn命令新增

docker run -d 

-p --name web -v

//.py

也可以將容器卷掛載到宿主機目錄或宿主機的檔案上,《容器目錄或檔案》的內容會被替換為《宿主機目錄或檔案》的內容,預設容器對這個目錄有可讀寫許可權
docker run -d 

-p --name web

-v 《宿主機目錄》

:《容器目錄》

training/.

py

可以通過指定ro,將許可權改為唯讀
docker run -d 

-p --name web

-v 《宿主機目錄》

:《容器目錄》:

rotraining/.

py

在乙個容器建立容器卷後,其他容器便可以通過--volumes-from共享這個容器卷資料,如下:

docker run -d 

-v /dbdata

--name db1 training

/postgres echo

data

-only container

forpostgres

首先啟動了乙個容器,並為這個容器增加乙個資料卷/dbdata,然後啟動另乙個容器,共享這個資料卷
docker run -d 

--volumes

-from

db1

--name db2 training

/postgres

此時db2使用了db1的容器卷,當容器db1被刪除時,容器卷也不會被刪除,只有所有容器不再使用此容器卷時,才會被刪除
docker rm -v:刪除容器卷

除了共享資料外,容器卷另乙個作用是用來備份、恢復和遷移資料
docker run 

--volumes

-from

db1

-v /home/backup

:/backup ubuntu tar cvf

/backup

/backup

.tar

/dbdata

啟動乙個容器資料卷使用db1容器的資料卷,同時新建立乙個資料卷指向宿主機目錄/home/backup,將/dbdata目錄的資料壓縮為/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

啟動乙個容器,同時把backup.tar的內容解壓到容器的backup

倉庫管理

docker login:登入

Docker Container同時啟動多服務

昨天踩了個天坑,我有乙個基本的映象centos6.5 ssh,是通過dockerfile build的,利用cmd命令啟動ssh。通過centos6.5 ssh映象,我想build乙個rabbitmq映象,dockerfile中cmd啟動rabbitmq服務。雖然我知道dockerfile中的cmd...

docker container 動態修改記憶體限制

原文 docker動態修改配置用docker update,用法 docker update h flag shorthand h has been deprecated,please use help usage docker update options container container....

連線 Docker Container 的幾種方式

經過熟悉之後,在 docker 裡安裝了乙個 ubuntu 準備學習使用。然後遇到了一些問題 使用 docker run d ubuntu 之後,container在執行之後馬上退出了。原因很簡單,在docker run 之後沒有命令引數,新增 bash 就可以了 docker run d ubun...