Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 的核心是容器,它为应用程序提供了一种轻量级、可移植且隔离的环境。本文将详细介绍 Docker 运行容器的命令及其实战技巧。
一、Docker 容器的基本概念
在开始之前,我们需要了解一些基本概念:
- 镜像(Image):Docker 镜像是用于创建 Docker 容器的模板。它包含运行容器所需的文件系统。
- 容器(Container):容器是镜像运行时的实体。每个容器都是相互隔离的,但共享宿主机的操作系统内核。
- 仓库(Repository):Docker 仓库是存储镜像的地方,分为官方仓库和私有仓库。
二、Docker 运行容器的命令详解
1. 创建容器
docker run [选项] [镜像名] [运行命令]
--name:指定容器的名称。-d:以守护进程模式运行容器。-p:将容器的端口映射到宿主机的端口。-e:设置环境变量。
2. 查看容器
docker ps [选项]
-a:显示所有容器,包括未运行的。-l:显示最近创建的容器。
3. 启动容器
docker start [容器名或ID]
4. 停止容器
docker stop [容器名或ID]
5. 删除容器
docker rm [容器名或ID]
6. 进入容器
docker exec -it [容器名或ID] /bin/bash
7. 暂停容器
docker pause [容器名或ID]
8. 解除暂停容器
docker unpause [容器名或ID]
三、实战技巧
1. 使用 Dockerfile 构建镜像
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
2. 使用多阶段构建
FROM python:3.8 AS builder
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
FROM python:3.8-slim
COPY --from=builder /app .
CMD ["python", "app.py"]
3. 使用 Docker Compose
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: postgres
environment:
POSTGRES_DB: mydb
POSTGRES_USER: user
POSTGRES_PASSWORD: password
通过以上命令和技巧,你可以轻松掌握 Docker 运行容器的操作。希望本文对你有所帮助!