【Docker】- Dockerfile和Docker Compose 基础配置
Docker 容易得工程化怎么做?Dockerfile + Docker compose 就可以实现,方便、优雅,我们先了解两个配置的基础配置。
Dockerfile 详细介绍
Dockerfile
是 Docker 构建镜像的脚本文件,它包含了一系列指令,用于定义容器的环境、安装依赖、复制文件、配置启动命令等。
📌 Dockerfile 结构
Dockerfile 主要由以下部分组成:
- 基础镜像(
FROM
) - 维护者信息(
LABEL
,MAINTAINER
) - 环境变量(
ENV
) - 工作目录(
WORKDIR
) - 复制和添加文件(
COPY
,ADD
) - 安装软件包(
RUN
) - 容器启动命令(
CMD
,ENTRYPOINT
) - 暴露端口(
EXPOSE
) - 定义数据卷(
VOLUME
) - 容器健康检查(
HEALTHCHECK
) - 用户权限(
USER
) - 指定构建阶段(
ARG
) - 指定容器运行时默认的信号(
STOPSIGNAL
)
📝 1️⃣ FROM:指定基础镜像
所有 Dockerfile 必须以 FROM
指令开头,它用于指定基础镜像。
FROM ubuntu:20.04
示例:
FROM ubuntu:20.04
→ 以 Ubuntu 20.04 为基础镜像FROM node:18-alpine
→ 以轻量级的 Node.js 18 版本镜像为基础
📝 2️⃣ LABEL:设置元数据
LABEL
用于添加作者信息或版本信息。
LABEL maintainer="yourname@example.com"
LABEL version="1.0"
📝 3️⃣ ENV:定义环境变量
ENV
用于定义环境变量,供后续 RUN
、CMD
和 ENTRYPOINT
使用。
ENV NODE_ENV=production
ENV APP_HOME=/app
WORKDIR $APP_HOME
在运行容器时,可以覆盖这些环境变量:
docker run -e NODE_ENV=development myimage
📝 4️⃣ WORKDIR:设置工作目录
WORKDIR
设置容器中的默认工作目录,所有后续命令(如 COPY
、RUN
)都会在该目录下执行。
WORKDIR /usr/src/app
这样,后续 RUN
、COPY
、CMD
命令的执行位置就是 /usr/src/app
。
📝 5️⃣ COPY & ADD:复制文件
COPY:复制文件
COPY
将本地文件复制到容器中。
COPY myapp /usr/src/app/
ADD:复制并解压
ADD
除了复制文件外,还可以自动解压 .tar.gz
文件或从 URL 下载文件。
ADD myapp.tar.gz /usr/src/app/
📌 区别:
COPY
仅支持文件复制。ADD
支持解压.tar.gz
文件和下载远程资源(不推荐,推荐RUN curl
)。
📝 6️⃣ RUN:执行命令
RUN
指令用于在构建镜像时执行命令,通常用于安装软件包。
RUN ap
原文地址:https://blog.csdn.net/baidu_25347287/article/details/146320725
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/593289.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/593289.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!