在Docker实战中,配置文件主要有两种使用场景:
-
Docker Compose 配置文件(docker-compose.yml):
Docker Compose 是用于定义和运行多容器Docker应用程序的工具。通过编写docker-compose.yml
文件,可以定义一组相关联的服务、网络以及卷等资源。示例:version: '3' services: web: image: nginx:latest ports: - "80:80" networks: - webnet db: image: postgres:latest environment: POSTGRES_PASSWORD: example volumes: - dbdata:/var/lib/postgresql/data networks: - webnet volumes: dbdata: networks: webnet:
在这个例子中,我们定义了两个服务:一个基于Nginx的web服务和一个PostgreSQL数据库服务,并且它们共享同一个自定义网络webnet。
-
Dockerfile:
Dockerfile 是用来构建Docker镜像的文本文件,它包含了若干指令,描述了如何从基础镜像开始一步步构建新的镜像。例如:# 使用官方的Python基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 将当前目录下的所有内容复制到容器的工作目录中 COPY . /app # 安装应用依赖 RUN pip install --no-cache-dir -r requirements.txt # 指定容器启动时运行的命令 CMD ["python", "app.py"]
这个Dockerfile用于创建一个新的Python应用镜像,首先以一个Python 3.9的基础镜像为基础,设置工作目录,复制本地项目代码到容器内并安装依赖包,最后指定容器启动后执行的默认命令。
-
Docker守护进程配置文件(/etc/docker/daemon.json):
Docker守护进程可以通过配置文件/etc/docker/daemon.json
来进行高级定制,如日志级别、存储驱动器选项、默认注册表、HTTP代理等。以下是一个简单的示例:{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "insecure-registries": [ "my-private-registry:5000" ], "storage-driver": "overlay2" }
在此文件中,你可以修改Docker守护进程的行为,比如设置日志驱动及参数,添加不安全的私有仓库地址,或者选择不同的存储驱动等。改动后通常需要重启Docker服务才能使配置生效。