将项目部署到 Docker 容器中主要分为以下几个步骤,我会以 Python Web 应用为例进行说明,其他语言的项目流程类似:
确保项目结构清晰,例如:
myapp/
├── app.py # 主程序
├── requirements.txt # Python依赖
└── Dockerfile # Docker构建文件
在项目根目录创建 Dockerfile
(无后缀),内容示例:
# 基础镜像(根据项目需求选择)
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制依赖文件并安装
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 复制项目代码
COPY . .
# 暴露端口(与应用端口一致)
EXPOSE 5000
# 启动命令(根据实际应用调整)
CMD ["python", "app.py"]
在项目目录下执行:
docker build -t myapp:latest .
-t
:指定镜像名称和标签(如 myapp:latest
).
:表示使用当前目录的 Dockerfiledocker run -d -p 5000:5000 --name myapp_container myapp:latest
-d
:后台运行-p 主机端口:容器端口
:端口映射--name
:指定容器名称curl http://localhost:5000 # 或浏览器访问
docker run -v $(pwd):/app -p 5000:5000 myapp:latest
创建 docker-compose.yml
:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/app
运行:
docker-compose up -d
在 docker-compose.yml
中添加数据库服务:
services:
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
web:
depends_on:
- db
python:3.9-alpine
)减少体积。-e
或 .env
文件传递:
bash
docker run -e DB_PASSWORD=123456 myapp:latest
docker logs myapp_container
docker exec -it myapp_container /bin/sh
docker system prune
按照以上步骤,即可完成项目容器化部署。根据实际项目需求调整 Dockerfile 和启动命令即可。