Dockerfile 命令介绍

Docker学习系列文章

1.Docker安装与卸载详细介绍
2.Docker常用命令介绍
3.Dockerfile 命令介绍
4.Docker Registry搭建与使用
5.Docker 数据管理
6.Docker三剑客Compose介绍与安装
7.DockerCompose命令介绍与使用

一.Dockerfile是什么

Dockerfile是一个文本文档,其中包含用户可以在命令行上调用以组合图像的所有命令。使用docker build 用户可以创建自动执行的构建,该构建可以连续执行多个命令行指令。

二.Dockerfile常用命令

命令 说名
FROM 基础镜像文件来源
RUN 构建镜像阶段执行的命令
ADD (src)(dest) 添加文件,从src目录 复制文件到容器dest,其中src可以是Dockerfile所在的目录的相对路径,也可以是一个URL,还可以是一个压缩包
COPY 拷贝文件,和ADD命令类似,但是不支持URL和压缩包
CMD 容器启动后执行命令
EXPOSE 声明容器在运行时对外提供的服务端口
WHORKDIR 指定容器工作路径
ENV 指定 环境变量
ENTRYPOINT 容器入口,ENTRYPOINT 和CMD指令的目的一样,都是 指定Docker容器启动时执行的命令,可以多次设置,但只有最后一个有效
USER 该指令用于设置启动镜像时的用户或者UID,写在该指令后的RUN、CMD已经ENTRYPOINT指令都将使用该用户执行命令
VOLUME 指定挂载点,该指令使容器中的一个目录具有持续化存储的功能,该目录 可没容器本身使用,也可共享给其他容器,当容器中的应用有持续化数据的需求时可以在Dockerfile中使用该指令,格式为:VOLUME["/data"]
HEALTHCHECK HEALTHCHECK [选项] CMD <命令> ,设置检查容器健康状况的命令
ONBUILD 是一个特殊的指令,它后面跟的是其它指令,比如 RUN, COPY 等,而这些指令,在当前镜像构建时并不会被执行。只有当以当前镜像为基础镜像,去构建下一级镜像的时候才会被执行。Dockerfile 中的其它指令都是为了定制当前镜像而准备的,唯有 ONBUILD 是为了帮助别人定制自己而准备的。

三.编写Dockerfile

这里以一个SpringBoot项目为例

3.1 创建一个Dockerfile

# 安装java环境
FROM java:8
# 复制项目
ADD javayh-api-1.0.jar app.jar
# 端口
EXPOSE 8443
# 执行的命令 java -jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

3.2 执行docker build

切记在最后结尾的位置有一个 .

docker build -t javayh-api-1.0.jar .

3.3 启动项目

由于上次docker build 时 没有指定版本,所以我们这里时项目名:latest,如果您不想这样的命名可以docker build -t javayh-api:1.0 .

docker run -p 8443:8443 javayh-api-1.0.jar:latest

更多启动参数可以查看https://blog.csdn.net/weixin_38937840/article/details/104430753
在这里插入图片描述
本文的分享暂时就到这里,希望对您有所帮助
关注 Java有货领取更多资料

联系小编。微信:372787553,带您进群互相学习
左侧小编微信,右侧获取免费资料
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38937840/article/details/104448312