Dockerfile
Dockerfile 是一个文本格式的配置文件,用户可以使用它来自动化地创建自定义的 Docker 镜像。它包含了一系列指令和参数,这些指令按顺序执行,最终生成一个包含了应用程序及其所有依赖的、可移植的镜像。
关键指令
- FROM:指定基础镜像。每个 Dockerfile 都必须以 FROM 指令开始。例如 FROM python:3.9-slim。
- WORKDIR:设置容器内的工作目录,后续的 RUN, CMD, COPY, ADD 等指令都在此目录下执行。
- COPY:将宿主机的文件或目录复制到镜像的文件系统中。
- RUN:在镜像构建过程中执行命令。常用于安装软件包、依赖库等。例如 RUN pip install -r requirements.txt。
- EXPOSE:声明容器在运行时监听的端口。这主要是一个文档性指令,并不会实际发布端口。
- CMD:提供容器启动时默认执行的命令。如果 docker run 命令指定了其他命令,CMD 会被覆盖。
Docker Compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 配置文件(docker-compose.yml),您可以描述应用程序的各个服务(容器)、网络、卷等依赖关系,并一键启动整个应用栈。
需要注意部分修改配置后需要删除已经创建的 volumes,自动移除有时候并不会移除,通过 docker-compose file 创建的 volumes 需要手动移除,单纯修改不会重新创建
常用命令
| 命令 | 说明 |
| docker-compose up | 启动所有服务(后台运行加 -d) |
| docker-compose down | 停止并删除容器、网络 |
| docker-compose build | 重新构建服务镜像 |
| docker-compose logs | 查看服务日志 |
| docker-compose ps | 查看运行中的服务状态 |