Docker最佳实践进阶(一):Dockerfile介绍使用
大家好,上一个系列我们使用docker安装了一系列的基础服务,但在实际开发过程中这样一个个的安装以及繁杂命令不仅仅浪费时间,更是容易遗忘,下面我们进行Docker的进阶教程,帮助我们更快速的部署和演示项目。
一、什么是Dockerfile?
Dockerfile 是一个文本文件,其中包含了一系列指令,用于自动化创建 Docker 镜像的过程。通过Dockerfile,你可以定义应用程序的环境,包括所需的软件、库和依赖项。简单的说就是把我们的安装一个基础服务的所有操作命令都编排在一个文件里,包含了拉取镜像,环境变量设置,容器启动等等一系列的操作。
二、如何使用Dockerfile?
2.1 Dockerfile文件解读
下面是一个简单的springboot项目的Dockerfile文件
# 使用官方Java运行环境作为基础镜像
# 命令解释:如果本地没有openjdk:8-jre镜像 则会自动从远程镜像仓库拉取镜像
FROM openjdk:8-jre# 设置docker容器内jar工作目录
# docker容器内部的jar工作目录 也就是jar将部署在这个目录下 并非宿主机中的文件目录
WORKDIR /kim# 暴露docker容器内9200端口
EXPOSE 9200# 设置容器时区
ENV TZ=Asia/Shanghai# 将你的jar包添加到容器中 将打包好的jar添加到容器中去
ADD kingoffice-auth.jar /kim/kingoffice-auth.jar# 声明日志卷,容器内应用生成的日志将被存储在这个位置
VOLUME /kim/logs# 设置容器启动时执行的命令
ENTRYPOINT ["java", "-jar", "/kim/kingoffice-auth.jar"]
2.2 构建镜像
下面执行 docker build
命令,运行脚本文件,构建镜像,注意请在Dockerfile同级目录下执行命令。
# 注意后面有一个"点"
docker build -t kingoffice-auth:1.0.0 .
docker build
:这是 Docker 的构建命令,用于根据Dockerfile
中的指令创建 Docker 镜像-t kingoffice-auth:1.0.0
:指定构建的镜像的名称为kingoffice-auth,同时设置版本标签为 1.0.0.
:这个参数指定了Dockerfile
所在的路径,.
表示当前目录。Docker 会在当前目录下寻找名为Dockerfi