首页 > 基础资料 博客日记

docker技术总结(二)

2024-07-19 00:30:02基础资料围观113

文章docker技术总结(二)分享给大家,欢迎收藏Java资料网,专注分享技术知识

五、Dockerfile:用于定义 Docker 镜像内容的脚本文件。

Dockerfile基本结构

一个典型的 Dockerfile 由一系列指令组成,每个指令用于执行特定的任务,如指定基础镜像、复制文件、运行命令等。常用的 Dockerfile 指令包括:

  1. FROM

    • 指定构建新镜像所基于的基础镜像。
    • 示例: FROM ubuntu:20.04
  2. LABEL

    • 为镜像添加元数据。
    • 示例: LABEL maintainer="you@example.com"
  3. RUN

    • 在镜像构建时执行命令,通常用于安装软件包。
    • 示例: RUN apt-get update && apt-get install -y python3
  4. COPY

    • 将本地文件或目录复制到镜像中。
    • 示例: COPY . /app
  5. ADD

    • 功能类似于 COPY,但可以处理 URL 和解压 tar 文件。
    • 示例: ADD https://example.com/file.tar.gz /app/
  6. CMD

    • 指定容器启动时要执行的命令,可以被 docker run 提供的命令替代。
    • 示例: CMD ["python3", "app.py"]
  7. ENTRYPOINT

    • 配置容器启动时的主进程,通常用于不可替代的命令。
    • 示例: ENTRYPOINT ["python3", "app.py"]
  8. ENV

    • 设置环境变量。
    • 示例: ENV APP_HOME /app
  9. EXPOSE

    • 声明容器监听的端口,但不会实际打开端口,需要使用 docker run -p 映射。
    • 示例: EXPOSE 8080
  10. VOLUME

    • 定义匿名卷或指定卷,以便持久化数据。
    • 示例: VOLUME /data
  11. WORKDIR

    • 设置工作目录,后续命令会在这个目录下运行。
    • 示例: WORKDIR /app
  12. USER

    • 指定运行后续命令的用户。
    • 示例: USER appuser
  13. ARG

    • 定义构建参数,可以在 docker build 时传递。
    • 示例: ARG VERSION=1.0
  14. HEALTHCHECK

    • 配置容器健康检查命令。
    • 示例: HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/ || exit 1

写一个简单的django项目的Dockerfile构建

 首先我们要有一个基本的django项目目录结构:

根据目录结构,可以写出Dockerfile文件

FROM python:3.9

# 设置环境变量
ENV PYTHONUNBUFFERED=1

# 创建工作目录
WORKDIR /app

# 复制项目的依赖文件
COPY requirements.txt /app/

# 安装项目的依赖
RUN pip install --no-cache-dir -r requirements.txt

# 复制项目代码
COPY . /app/

# 暴露Django的默认端口
EXPOSE 8000

# 运行Django开发服务器
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

 


文章来源:https://www.cnblogs.com/xiaojp65536/p/18310624
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云