要啟動一個新的容器,我們使用 docker run
命令,后跟鏡像名稱。基本語法如下:
docker run [選項] 鏡像 [COMMAND] [ARG...]
例如,要運行官方的 Nginx 鏡像,我們可以使用:
docker run -d -p 8080:80 nginx
這會啟動一個新的容器,并將主機的端口 8080 映射到容器的端口 80。
列出容器
要列出所有正在運行的容器,請使用 docker ps
命令。要查看所有容器(包括已停止的容器),請使用 -a
標志:
docker container ls -a
訪問容器
要訪問正在運行的容器的 shell,請使用 docker exec
命令:
docker exec -it CONTAINER_ID bash
將 CONTAINER_ID
替換為所需容器的 ID 或名稱。您可以在 docker ps
的輸出中找到它。
停止容器
要停止運行中的容器,請使用 docker stop
命令,后跟容器 ID 或名稱:
docker container stop CONTAINER_ID
刪除容器
停止容器后,我們可以使用 docker rm
命令,后跟容器 ID 或名稱,將其刪除:
docker container rm CONTAINER_ID
要在退出時自動刪除容器,請在運行容器時添加 --rm
標志:
docker run --rm IMAGE
Docker Compose
Docker Compose 是一個用于定義和運行多容器 Docker 應用程序的工具。它允許您使用一個簡單的名為?docker-compose.yml
?的 YAML 文件創建、管理和運行應用程序。此文件描述了你的應用程序的服務、網絡和卷,只需使用一個命令就可以輕松運行和管理你的容器。
使用 Docker Compose 的一些好處包括:
- 簡化容器管理: Docker Compose 允許您在一個地方定義和配置所有服務、網絡和卷,使其易于管理和維護。
- 可重復構建: 共享你的?
docker-compose.yml
?文件,以確保他人運行相同的環境和服務。 - 版本支持: Docker Compose 文件可以進行版本控制,以便更容易地與不同版本的 Docker Compose 工具進行兼容。
創建 Docker Compose 文件:
要創建一個?docker-compose.yml
?文件,首先指定您想要使用的 Docker Compose 版本,然后是您想要定義的服務。下面是一個基本的?docker-compose.yml
?文件示例:
version: "3.9"
services: web:
image: nginx:latest
ports: - "80:80"
db: image:
mysql:latest
environment:
MYSQL_ROOT_PASSWORD:
mysecretpassword
在這個示例中,我們指定了兩個服務:一個運行最新版本 nginx 鏡像的 Web 服務器(web
),以及運行 MySQL 的數據庫服務器(db
)。Web 服務器將其端口 80 暴露給主機,而數據庫服務器則設置了根密碼的環境變量。
運行 Docker Compose:
要運行你的 Docker Compose 應用程序,只需導航到包含你的?docker-compose.yml
?文件的目錄,并運行以下命令:
docker-compose up
Docker Compose 將讀取文件并按指定的順序啟動定義的服務。
其他有用的命令:
要啟動一個新的容器,我們使用 docker run
命令,后跟鏡像名稱。基本語法如下:
docker run [選項] 鏡像 [COMMAND] [ARG...]
例如,要運行官方的 Nginx 鏡像,我們可以使用:
docker run -d -p 8080:80 nginx
這會啟動一個新的容器,并將主機的端口 8080 映射到容器的端口 80。
列出容器
要列出所有正在運行的容器,請使用 docker ps
命令。要查看所有容器(包括已停止的容器),請使用 -a
標志:
docker container ls -a
訪問容器
要訪問正在運行的容器的 shell,請使用 docker exec
命令:
docker exec -it CONTAINER_ID bash
將 CONTAINER_ID
替換為所需容器的 ID 或名稱。您可以在 docker ps
的輸出中找到它。
停止容器
要停止運行中的容器,請使用 docker stop
命令,后跟容器 ID 或名稱:
docker container stop CONTAINER_ID
刪除容器
停止容器后,我們可以使用 docker rm
命令,后跟容器 ID 或名稱,將其刪除:
docker container rm CONTAINER_ID
要在退出時自動刪除容器,請在運行容器時添加 --rm
標志:
docker run --rm IMAGE
Docker Compose
Docker Compose 是一個用于定義和運行多容器 Docker 應用程序的工具。它允許您使用一個簡單的名為?docker-compose.yml
?的 YAML 文件創建、管理和運行應用程序。此文件描述了你的應用程序的服務、網絡和卷,只需使用一個命令就可以輕松運行和管理你的容器。
使用 Docker Compose 的一些好處包括:
- 簡化容器管理: Docker Compose 允許您在一個地方定義和配置所有服務、網絡和卷,使其易于管理和維護。
- 可重復構建: 共享你的?
docker-compose.yml
?文件,以確保他人運行相同的環境和服務。 - 版本支持: Docker Compose 文件可以進行版本控制,以便更容易地與不同版本的 Docker Compose 工具進行兼容。
創建 Docker Compose 文件:
要創建一個?docker-compose.yml
?文件,首先指定您想要使用的 Docker Compose 版本,然后是您想要定義的服務。下面是一個基本的?docker-compose.yml
?文件示例:
version: "3.9"
services: web:
image: nginx:latest
ports: - "80:80"
db: image:
mysql:latest
environment:
MYSQL_ROOT_PASSWORD: mysecretpassword
在這個示例中,我們指定了兩個服務:一個運行最新版本 nginx 鏡像的 Web 服務器(web
),以及運行 MySQL 的數據庫服務器(db
)。Web 服務器將其端口 80 暴露給主機,而數據庫服務器則設置了根密碼的環境變量。
運行 Docker Compose:
要運行你的 Docker Compose 應用程序,只需導航到包含你的?docker-compose.yml
?文件的目錄,并運行以下命令:
docker-compose up
Docker Compose 將讀取文件并按指定的順序啟動定義的服務。
其他有用的命令:
docker-compose down
:停止并刪除在?docker-compose.yml
?文件中定義的所有正在運行的容器、網絡和卷。docker-compose ps
:列出在?docker-compose.yml
?文件中定義的所有容器的狀態。docker-compose logs
:顯示在?docker-compose.yml
?文件中定義的所有容器的日志。docker-compose build
:構建在?docker-compose.yml
?文件中定義的所有鏡像。
這是一個關于 Docker Compose 的簡要介紹!了解更多信息,請查看官方的?Docker Compose 文檔。
運行時配置選項
運行時配置選項允許你在運行 Docker 容器時自定義容器的行為和資源。這些選項對于管理容器的資源、安全性和網絡非常有幫助。以下是一些常用的運行時配置選項的簡要概述:
資源管理
-
CPU: 你可以使用
cpus
和cpu-shares
選項來限制容器的 CPU 使用率。cpus
選項限制容器可以使用的 CPU 核心數量,而cpu-shares
選項為容器分配相對的 CPU 時間份額。docker run --cpus=2 --cpu-shares=512 your-image
-
內存: 你可以使用
memory
和memory-reservation
選項來限制和預留容器的內存。這可以幫助防止容器占用過多的系統資源。docker run --memory=1G --memory-reservation=500M your-image
安全性
-
用戶: 默認情況下,容器作為
root
用戶運行。為了增加安全性,你可以使用user
選項將容器作為其他用戶或 UID 運行。docker run --user 1000 your-image
-
只讀根文件系統: 為了防止容器對文件系統進行不必要的更改,你可以使用
read-only
選項將根文件系統掛載為只讀。docker run --read-only your-image
網絡
-
發布端口: 你可以使用
publish
(或p
)選項將容器的端口發布到主機系統上。這允許外部系統訪問容器化的服務。docker run -p 80:80 your-image
-
主機名和 DNS: 你可以使用
hostname
和dns
選項來自定義容器的主機名和 DNS 設置。docker run --hostname=my-container --dns=8.8.8.8 your-image
包括這些運行時配置選項將允許你有效地管理容器的資源、安全性和網絡需求。有關可用運行時配置選項的完整列表,請參閱 Docker 的官方文檔。
docker-compose down
:停止并刪除在?docker-compose.yml
?文件中定義的所有正在運行的容器、網絡和卷。docker-compose ps
:列出在?docker-compose.yml
?文件中定義的所有容器的狀態。docker-compose logs
:顯示在?docker-compose.yml
?文件中定義的所有容器的日志。docker-compose build
:構建在?docker-compose.yml
?文件中定義的所有鏡像。
這是一個關于 Docker Compose 的簡要介紹!了解更多信息,請查看官方的?Docker Compose 文檔。
運行時配置選項
運行時配置選項允許你在運行 Docker 容器時自定義容器的行為和資源。這些選項對于管理容器的資源、安全性和網絡非常有幫助。以下是一些常用的運行時配置選項的簡要概述:
資源管理
-
CPU: 你可以使用
cpus
和cpu-shares
選項來限制容器的 CPU 使用率。cpus
選項限制容器可以使用的 CPU 核心數量,而cpu-shares
選項為容器分配相對的 CPU 時間份額。docker run --cpus=2 --cpu-shares=512 your-image
-
內存: 你可以使用
memory
和memory-reservation
選項來限制和預留容器的內存。這可以幫助防止容器占用過多的系統資源。docker run --memory=1G --memory-reservation=500M your-image
安全性
-
用戶: 默認情況下,容器作為
root
用戶運行。為了增加安全性,你可以使用user
選項將容器作為其他用戶或 UID 運行。docker run --user 1000 your-image
-
只讀根文件系統: 為了防止容器對文件系統進行不必要的更改,你可以使用
read-only
選項將根文件系統掛載為只讀。docker run --read-only your-image
網絡
-
發布端口: 你可以使用
publish
(或p
)選項將容器的端口發布到主機系統上。這允許外部系統訪問容器化的服務。docker run -p 80:80 your-image
-
主機名和 DNS: 你可以使用
hostname
和dns
選項來自定義容器的主機名和 DNS 設置。docker run --hostname=my-container --dns=8.8.8.8 your-image
包括這些運行時配置選項將允許你有效地管理容器的資源、安全性和網絡需求。有關可用運行時配置選項的完整列表,請參閱 Docker 的官方文檔。
最后
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關注后即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注