要啟動(dòng)一個(gè)新的容器,我們使用 docker run
命令,后跟鏡像名稱。基本語法如下:
docker run [選項(xiàng)] 鏡像 [COMMAND] [ARG...]
例如,要運(yùn)行官方的 Nginx 鏡像,我們可以使用:
docker run -d -p 8080:80 nginx
這會(huì)啟動(dòng)一個(gè)新的容器,并將主機(jī)的端口 8080 映射到容器的端口 80。
列出容器
要列出所有正在運(yùn)行的容器,請使用 docker ps
命令。要查看所有容器(包括已停止的容器),請使用 -a
標(biāo)志:
docker container ls -a
訪問容器
要訪問正在運(yùn)行的容器的 shell,請使用 docker exec
命令:
docker exec -it CONTAINER_ID bash
將 CONTAINER_ID
替換為所需容器的 ID 或名稱。您可以在 docker ps
的輸出中找到它。
停止容器
要停止運(yùn)行中的容器,請使用 docker stop
命令,后跟容器 ID 或名稱:
docker container stop CONTAINER_ID
刪除容器
停止容器后,我們可以使用 docker rm
命令,后跟容器 ID 或名稱,將其刪除:
docker container rm CONTAINER_ID
要在退出時(shí)自動(dòng)刪除容器,請?jiān)谶\(yùn)行容器時(shí)添加 --rm
標(biāo)志:
docker run --rm IMAGE
Docker Compose
Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具。它允許您使用一個(gè)簡單的名為?docker-compose.yml
?的 YAML 文件創(chuàng)建、管理和運(yùn)行應(yīng)用程序。此文件描述了你的應(yīng)用程序的服務(wù)、網(wǎng)絡(luò)和卷,只需使用一個(gè)命令就可以輕松運(yùn)行和管理你的容器。
使用 Docker Compose 的一些好處包括:
- 簡化容器管理: Docker Compose 允許您在一個(gè)地方定義和配置所有服務(wù)、網(wǎng)絡(luò)和卷,使其易于管理和維護(hù)。
-
可重復(fù)構(gòu)建: 共享你的?
docker-compose.yml
?文件,以確保他人運(yùn)行相同的環(huán)境和服務(wù)。 - 版本支持: Docker Compose 文件可以進(jìn)行版本控制,以便更容易地與不同版本的 Docker Compose 工具進(jìn)行兼容。
創(chuàng)建 Docker Compose 文件:
要?jiǎng)?chuàng)建一個(gè)?docker-compose.yml
?文件,首先指定您想要使用的 Docker Compose 版本,然后是您想要定義的服務(wù)。下面是一個(gè)基本的?docker-compose.yml
?文件示例:
version: "3.9"services: web: image: nginx:latest ports: - "80:80" db: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: mysecretpassword
在這個(gè)示例中,我們指定了兩個(gè)服務(wù):一個(gè)運(yùn)行最新版本 nginx 鏡像的 Web 服務(wù)器(web
),以及運(yùn)行 MySQL 的數(shù)據(jù)庫服務(wù)器(db
)。Web 服務(wù)器將其端口 80 暴露給主機(jī),而數(shù)據(jù)庫服務(wù)器則設(shè)置了根密碼的環(huán)境變量。
運(yùn)行 Docker Compose:
要運(yùn)行你的 Docker Compose 應(yīng)用程序,只需導(dǎo)航到包含你的?docker-compose.yml
?文件的目錄,并運(yùn)行以下命令:
docker-compose up
Docker Compose 將讀取文件并按指定的順序啟動(dòng)定義的服務(wù)。
其他有用的命令:
-
docker-compose down
:停止并刪除在?docker-compose.yml
?文件中定義的所有正在運(yùn)行的容器、網(wǎng)絡(luò)和卷。 -
docker-compose ps
:列出在?docker-compose.yml
?文件中定義的所有容器的狀態(tài)。 -
docker-compose logs
:顯示在?docker-compose.yml
?文件中定義的所有容器的日志。 -
docker-compose build
:構(gòu)建在?docker-compose.yml
?文件中定義的所有鏡像。
這是一個(gè)關(guān)于 Docker Compose 的簡要介紹!了解更多信息,請查看官方的?Docker Compose 文檔。
運(yùn)行時(shí)配置選項(xiàng)
運(yùn)行時(shí)配置選項(xiàng)允許你在運(yùn)行 Docker 容器時(shí)自定義容器的行為和資源。這些選項(xiàng)對于管理容器的資源、安全性和網(wǎng)絡(luò)非常有幫助。以下是一些常用的運(yùn)行時(shí)配置選項(xiàng)的簡要概述:
資源管理
-
CPU: 你可以使用
cpus
和cpu-shares
選項(xiàng)來限制容器的 CPU 使用率。cpus
選項(xiàng)限制容器可以使用的 CPU 核心數(shù)量,而cpu-shares
選項(xiàng)為容器分配相對的 CPU 時(shí)間份額。docker run --cpus=2 --cpu-shares=512 your-image
-
內(nèi)存: 你可以使用
memory
和memory-reservation
選項(xiàng)來限制和預(yù)留容器的內(nèi)存。這可以幫助防止容器占用過多的系統(tǒng)資源。docker run --memory=1G --memory-reservation=500M your-image
安全性
-
用戶: 默認(rèn)情況下,容器作為
root
用戶運(yùn)行。為了增加安全性,你可以使用user
選項(xiàng)將容器作為其他用戶或 UID 運(yùn)行。docker run --user 1000 your-image
-
只讀根文件系統(tǒng): 為了防止容器對文件系統(tǒng)進(jìn)行不必要的更改,你可以使用
read-only
選項(xiàng)將根文件系統(tǒng)掛載為只讀。docker run --read-only your-image
網(wǎng)絡(luò)
-
發(fā)布端口: 你可以使用
publish
(或p
)選項(xiàng)將容器的端口發(fā)布到主機(jī)系統(tǒng)上。這允許外部系統(tǒng)訪問容器化的服務(wù)。docker run -p 80:80 your-image
-
主機(jī)名和 DNS: 你可以使用
hostname
和dns
選項(xiàng)來自定義容器的主機(jī)名和 DNS 設(shè)置。docker run --hostname=my-container --dns=8.8.8.8 your-image
包括這些運(yùn)行時(shí)配置選項(xiàng)將允許你有效地管理容器的資源、安全性和網(wǎng)絡(luò)需求。有關(guān)可用運(yùn)行時(shí)配置選項(xiàng)的完整列表,請參閱 Docker 的官方文檔。
最后
為了方便其他設(shè)備和平臺的小伙伴觀看往期文章,鏈接奉上:
公眾號 Let us Coding
,牛客,知乎,開源中國,CSDN,思否,掘金,InfoQ,簡書,博客園,慕課,51CTO,helloworld,騰訊開發(fā)者社區(qū),阿里開發(fā)者社區(qū)文章來源:http://www.zghlxwxcb.cn/news/detail-591999.html
看完如果覺得有幫助,歡迎點(diǎn)贊、收藏和關(guān)注文章來源地址http://www.zghlxwxcb.cn/news/detail-591999.html
到了這里,關(guān)于Docker學(xué)習(xí)路線9:運(yùn)行容器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!