Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘 專案。它基於 Google 公司推出的 Go 語言實現。 專案後來加入了 Linux 基金會,遵從了 Apache 2。0 協議,專案程式碼在 GitHub 上進行維護。

Docker 專案的目標是實現輕量級的

作業系統

虛擬化解決方案,使用Docker,開發和測試可以快速部署和遷移環境,並且能保證環境的一致性,從而提升軟體的開發和維護效率。

虛擬機器

相比,docker有優點也有缺點,具體可以看下圖:

docker命令記不住?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或容器名:

容器路徑

主機檔案路徑

#容器檔案複製到宿主機中