docker命令記不住?docker常用操作命令大全,收藏起來
Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘 專案。它基於 Google 公司推出的 Go 語言實現。 專案後來加入了 Linux 基金會,遵從了 Apache 2。0 協議,專案程式碼在 GitHub 上進行維護。
Docker 專案的目標是實現輕量級的
作業系統
虛擬化解決方案,使用Docker,開發和測試可以快速部署和遷移環境,並且能保證環境的一致性,從而提升軟體的開發和維護效率。
與
虛擬機器
相比,docker有優點也有缺點,具體可以看下圖:
正好最近在部署環境,就把docker常用的操作和命令給大家做一個總結:
docker程序相關命令
systemctl start docker
#啟動docker服務
systemctl stop docker
#停止docker服務
systemctl restart docker
#重啟docker服務
systemctl status docker
#檢視docker服務狀態
systemctl enable docker
#設定開機啟動服務
docker容器管理命令
docker run ——name={your_name} ——d {image_name}
# 執行容器
引數說明:
-i:保持容器執行。通常與 -t 同時使用。加入it這兩個引數後,容器建立後自動進入容器中,退出容器後,容器自動關閉。
-t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用。
-d:以守護(後臺)模式執行容器。建立一個容器在後臺執行,需要使用docker exec 進入容器。退出後,容器不會關閉。
-it 建立的容器一般稱為
互動式容器
,-id 建立的容器一般稱為
守護式容器
——name:為建立的容器命名。
docker ps
# 檢視正在執行的容器
docker ps -s -a
#檢視當前所有容器
docker stop容器名稱
#停止容器
docker restart 容器名稱
#
重啟容器
docker kill 容器名稱
#
殺死容器
docker rm -f 映象ID或者映象名
#刪除已經停止的容器
如果容器是執行狀態則刪除失敗,需要停止容器才能刪除
docker映象管理命令
docker images
#檢視當前機器的所有映象
docker images –q
# 檢視所用映象的id
docker search 映象名稱
#搜尋映象,網路中查詢需要的映象
docker pull 映象名稱
#從Docker倉庫拉取映象,名稱:版本號
docker push 映象名稱
#推送映象
docker rmi 映象名稱/映象id
#刪除本地機器的映象
docker rmi docker images -q
# 刪除所有本地映象
docker tag 映象名稱:tag 映象名稱:tag
#為一個映象打tag
docker save {image_name} > {new_image_name}。tar
#映象打包成一個tar包
docker load < {image_name}。tar
#解壓一個映象tar包
docker檢視日誌資訊
docker logs -f
容器名稱 #檢視容器日誌
docker info
#檢視docker服務的資訊
docker inspect 容器名稱
# 獲取映象的元資訊,詳細資訊
與容器互動的命令
進入正在執行的容器
docker exec -it 容器ID或者容器名 /bin/bash
exec的意思是在容器中執行⼀個命令。 /bin/bash是固有寫法,作用是因為docker後臺必須執行一個程序,否則容器就會退出,在這裡表示啟動容器後啟動 bash。
退出容器
exit
#退出也關閉容器;
Ctrl+P+Q
#退出不關閉容器
建立啟動容器時,使用–v引數設定資料卷
docker run 。。。 –v 宿主機目錄/檔案:容器內目錄/檔案
資料卷是宿主機的一個目錄或檔案
目錄必須是
絕對路徑
如果目錄不存在,會自動建立
可以掛載多個數據卷
複製檔案
docker cp 主機檔案路徑 容器ID或容器名:容器路徑
#宿主機檔案複製到容器中
docker cp 容器ID或容器名:
容器路徑
主機檔案路徑
#容器檔案複製到宿主機中