飞天使-docker知识点9-dockerfile补充

2023-12-16 15:39:34

dockerfile

里面的文件首字母必须大写
编译的文件必须放在当前目录,不能放在父目录


文件配置好了之后,可以使用docker build 命令进行操作
.dockerignore
在使用 Dockerfile 进行构建时,可以使用.dockerignore文件来指定不希望在镜像中打包的黑名单文件。.dockerignore文件与.gitignore类似,它包含一系列规则,用于指定不希望被添加到镜像中的文件或目录。

.dockerignore文件的命名是固定的,文件名应该为.dockerignore,它应该放置在 Dockerfile 所在的上下文目录中。当运行docker build命令时,Docker会自动查找.dockerignore文件并忽略其中指定的文件或目录。

例如,如果你希望忽略所有.git目录和.env文件,就可以在.dockerignore文件中添加以下内容:

.git
.env
这样,在运行docker build命令时,Docker将自动忽略这些文件。

需要注意的是,.dockerignore文件只对 Dockerfile 上下文路径下的文件有效,不会影响到 Dockerfile 中通过 ADD 或 COPY 命令添加的文件。因此,在编写 Dockerfile 时,也应该注意控制所添加文件的大小和数量,以避免不必要的镜像膨胀。

MAINTANIER
MAINTANIER "告诉dockerfile的作者信息"
FROM
FROM centos:7.8.2003

EXPOSE
用于为容器打开置顶要监听的端口,与宿主机实现通信
一般 -p 8080:8080
暴露8080 端口给外部访问

docker port  容器id或者容器名
查看暴露出的端口 

ENV
环境变量

以下是使用ENV指令的示例:

FROM ubuntu:latest
ENV MY_VARIABLE=my_value
在上面的例子中,通过ENV指令设置了一个名为MY_VARIABLE的环境变量,并将其值设置为my_value。在容器运行时,可以通过$MY_VARIABLE来引用该环境变量。

注意事项:

ENV指令可以在Dockerfile中的任何位置使用,但通常建议将其放在文件的顶部,以使环境变量定义更加清晰。
可以使用多个ENV指令来定义多个环境变量。
环境变量的值可以是字面值,也可以是从构建环境中获取的变量(如$PATH)。
ENV指令定义的环境变量在容器内部是持久化的,可以在运行时被访问和使用。
例如,在一个Node.js应用程序的Dockerfile中,你可以使用ENV指令来设置应用程序的端口号:

FROM node:14
ENV PORT=3000
EXPOSE $PORT
在上述示例中,设置了一个名为PORT的环境变量,并将其值设置为3000。然后,通过EXPOSE指令将该端口暴露给其他容器或主机。


CMD
只有最后一个cmd生效

文章来源:https://blog.csdn.net/startfefesfe/article/details/135029700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。