了解Dockerfile,是什么?主要指令?如何使用?
Dockerfile是什么?
Dockerfile 是一个文本文件,其中包含了一系列指令,用来自动化构建 Docker 镜像。它的主要作用就是定义一个 Docker 镜像的构建过程,包括镜像的基础镜像、安装的软件、设置的环境变量、暴露的端口、执行的命令等。
主要指令有哪些?
1、FROM:指定基础镜像。
FROM ubuntu:20.04
,表示使用 ubuntu 20.04 作为基础镜像。
2、RUN:在镜像构建过程中执行命令(通常用于安装软件)。
RUN apt-get update && apt-get install -y curl
,表示在镜像中安装 curl 软件。
3、COPY / ADD:将文件从本地复制到镜像中。
COPY ./myapp /app
,表示将当前目录下的 myapp 文件夹复制到镜像中的 /app 目录。
4、WORKDIR:设置工作目录,后续的命令都会在该目录下执行。
WORKDIR /app
,设置工作目录为 /app。
5、EXPOSE:暴露容器的端口,供外部访问。
EXPOSE 8080
,表示容器会监听 8080 端口。
6、CMD / ENTRYPOINTCMD / ENTRYPOINT:指定容器启动时执行的命令。
是容器启动时的默认命令,但可以被 docker run 覆盖;ENTRYPOINT 是容器启动时的强制命令。
CMD ["python", "app.py"]
,表示容器启动时会执行 python app.py。
如何使用?
复制docker build -t ImgName .
-
-t ImgName
-t 是 tag 的缩写,用来为新构建的镜像命名和打标签。在这里,ImgName 就是你要给这个镜像命名的名称。 -
.
这个点(.)表示当前目录。Docker 将从这个目录下的 Dockerfile 文件开始构建镜像。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现