目錄
前言
當涉及到容器化技術,Docker 是當今最流行和強大的工具之一。Docker 容器技術使得應用程序的封裝、交付和部署變得更加簡單、高效。本文將介紹 Docker 容器的常用操作命令,涵蓋了創建、管理、監視和刪除容器的各種關鍵操作。通過掌握這些命令,您將能夠更靈活地運行和管理容器,提高開發和部署的效率,使應用程序更加可靠和可移植。
1 啓動容器
要創建並啓動一個容器,使用以下命令:
docker run 鏡像名稱:tag
例如,要創建並啓動一個基於 Ubuntu 20.04 鏡像的容器,可以運行:
docker run ubuntu:20.04
進入容器
要進入正在運行的容器的 shell 環境,可以使用 -it 標誌,如下所示:
docker run -it 鏡像名稱:tag /bin/bash
這將啓動一個交互式 shell 會話,允許您在容器內執行命令。
2 查看容器
要查看本地系統中的所有容器,包括正在運行和已停止的容器,可以運行以下命令:
docker ps -a
要查看僅正在運行的容器,使用以下命令:
docker ps
這將列出容器的相關信息,如容器ID、狀態、鏡像、端口映射等。
3 退出容器
要退出容器,您可以使用以下兩種方法之一:
在容器中執行 exit 命令,這將停止容器並退出。
使用鍵盤快捷鍵 Ctrl + P + Q,這將使容器在後臺運行而不停止。
4 啓動已經停止的容器
如果您需要啓動一個之前停止的容器,可以使用以下命令:
docker start 容器ID 或者 容器名
這將重新啓動指定的容器。
5 重啓容器
要重新啓動正在運行的容器,可以使用以下命令:
docker restart 容器ID 或者 容器名
這將停止然後再次啓動容器,使其重新初始化。
6 停止容器
要停止正在運行的容器,可以使用以下命令:
docker stop 容器ID 或者 容器名
這將優雅地停止容器,允許容器內的應用程序執行清理操作。
強制停止容器
如果需要立即停止容器,可以使用以下命令:
docker kill 容器ID 或者 容器名
這將強制停止容器,可能導致數據丟失或不一致。
7 刪除已經停止的容器
要刪除不再需要的已停止容器,使用以下命令:
docker rm 容器ID 或者 容器名
強制刪除容器
如果需要強制刪除容器,即使它們仍在運行,可以使用 -f 標誌:
docker rm -f 容器ID 或者 容器名
請謹慎使用這個選項,因爲它將強制刪除正在運行的容器。
一次性刪除多個容器
如果您需要一次性刪除多個已停止的容器,可以使用以下命令:
docker rm -f $(docker ps -a -q)
或者,您可以使用 xargs 命令來實現相同的效果:
docker ps -a -q | xargs docker rm
這將刪除所有已停止的容器。
8 啓動容器說明和舉例
docker run -d ubuntu
啓動後馬上關閉
Docker容器後臺運行,必須有一個前臺進程
用redis演示
前臺交互式容器
docker run -it redis:6.0.8
用docker ps查看
後臺守護式容器,(redis,mysql等可以使用)
docker run -d redis:6.0.8
每個容器環境是一個縮略版的linux
9 查看容器日誌
docker logs 容器id
10 查看容器內運行的進程
docker top 容器id
11 查看容器內部細節
docker inspect 容器id
12 進入正在運行的容器並進行交互
docker exec -it 容器id /bin/bash
docker attach 容器id
attach直接進入容器啓動命令的終端,不會啓動新的進程,用exit退出,會導致容器停止
exec是在容器打開新的終端,並啓動新的進程,用exit退出,不會導致容器的停止。
推薦使用exec命令
一般用-d後臺啓動程序,再用exec進入對應的容器實例
從容器內拷貝文件到主機
docker cp 容器id:容器內路徑 目的主機路徑
13 導入和導出容器
export導出容器的內容做爲一個tar歸檔文件
import從tar包中內容創建一個新的文件系統,再導入爲鏡像,與export對應
docker export 容器id > 文件.tar
cat 文件名.tar | docker import -鏡像用戶/鏡像名:鏡像版本號
結語
Docker 提供了強大的容器化解決方案,使得開發、交付和管理應用程序變得更加便捷和高效。通過本文介紹的常用 Docker 容器操作命令,無論您是初學者還是有經驗的用戶,都能更深入地瞭解 Docker 技術。這些命令不僅有助於您創建、啓動、管理和監視容器,還能提高應用程序的可移植性和可維護性,爲您的開發和部署流程帶來更大的靈活性和效率。希望本文能爲您提供必要的指引和幫助,讓您更加熟練地掌握 Docker,從而更好地應用於您的工作和項目中。