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:標準輸入給容器 -t:分配一個虛擬終端 /bin/bash:執行bash指令碼
-d:以守護程式方式執行(後臺)-P:預設匹配docker容器的5000埠號到宿主機的-p <HOT_PORT>:<CONTAINER_PORT>:指定埠號- -name: 指定容器的名稱- -rm:退出時刪除容器
docker stop <CONTAINER_ID>:停止container
docker start <CONTAINER_ID>:重新啟動containerdocker ps - Lists containers.
-l:顯示最後啟動的容器
-a:同時顯示停止的容器,預設只顯示啟動狀態
docker attach <CONTAINER_ID> 連線到啟動的容器docker logs <CONTAINER_ID> : 輸出容器日誌docker cp <CONTAINER_ID>:path hostpath:複製容器內的檔案到宿主機目錄上<CONTAINER_ID> docker wait <CONTAINER_ID>:阻塞對容器的其他呼叫方法,直到容器停止後退出
docker top <CONTAINER_ID>:檢視容器中執行的程式<CONTAINER_ID>:檢視容器中的變化<CONTAINER_ID>:檢視容器詳細資訊(輸出為Json)-f:查詢特定資訊,如-'{{ .NetworkSettings.IPAddress }}'
docker extc -it <CONTAINER> <COMMAND>:在容器裡執行命令,並輸出結果
- 網路管理
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/webapp python app.py:繫結udp埠號docker port<CONTAINER_ID> 5000:檢視容器的5000埠對應本地機器的IP和埠號
使用Docker Linking連線容器:
docker run -d -P --name <CONTAINER_NAME> --link <CONTAINER_NAME_TO_LINK>:<ALIAS>docker run -d -P --name web -v /webapp training/webapp python app.py
也可以將容器卷掛載到宿主機目錄或宿主機的檔案上,<容器目錄或檔案>的內容會被替換為<宿主機目錄或檔案>的內容,預設容器對這個目錄有可讀寫許可權除了共享資料外,容器卷另一個作用是用來備份、恢復和遷移資料docker run -d -P --name web -v <宿主機目錄>:<容器目錄> training/webapp python app.py
可以通過指定ro,將許可權改為只讀
-----:<容器目錄>:r trainingwebapp python apppy
docker run -d -v /dbdata --name db1 training/postgres echo Data-only container for postgres
首先啟動了一個容器,併為這個容器增加一個資料卷/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.tardocker 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:登入