本地项目打包docker镜像
将项目文件整理到一个目录下(例如),确保依赖文件齐全(如等)。在项目根目录下创建Dockerfile(无后缀名),根据项目类型编写配置。以下是不同类型项目的示例:在项目根目录下创建Dockerfile(无后缀名),根据项目类型编写配置。
·
-
安装 Docker
确保已安装 Docker(查看版本:docker --version)。 -
项目结构整理
将项目文件整理到一个目录下(例如my-project/),确保依赖文件齐全(如requirements.txt、package.json等)。注意前提
my-project/ ├── Dockerfile ├── requirements.txt # 必须在 Dockerfile 同级目录 ├── main.py └── ...
在环境中导出requirements.txt文件
pip freeze > requirements.txt
二、创建 Dockerfile
在项目根目录下创建 Dockerfile(无后缀名),根据项目类型编写配置。以下是不同类型项目的示例:
1. Python 项目示例
# 基础镜像(使用 Python 3.9 为例) FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 复制依赖文件(先安装依赖,利用 Docker 缓存) COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 复制项目代码 COPY . . # 暴露端口(根据项目实际端口修改) EXPOSE 8000 # 启动命令 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
三、构建 Docker 镜像
在项目根目录执行构建命令:
# 格式:docker build -t <镜像名>:<标签> . docker build -t my-project:v1 . # 示例(带 Docker Hub 仓库名): # docker build -t username/my-project:v1 .
- 参数说明:
-t:指定镜像名称和标签(可省略标签,默认latest)。.:表示 Dockerfile 在当前目录。
四、验证镜像
-
查看镜像列表
docker images输出应包含刚构建的
my-project:v1。 -
运行容器测试
# 格式:docker run -p <宿主机端口>:<容器端口> <镜像名> docker run -p 8000:8000 my-project:v1访问
http://localhost:8000确认项目运行正常。
五、(可选)推送镜像到仓库
-
登录 Docker Hub(或私有仓库)
bash
docker login -
推送镜像
bash
# 格式:docker push <仓库名>/<镜像名>:<标签> docker push username/my-project:v1
更多推荐
所有评论(0)