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

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生效

相关推荐

  1. 飞天使-docker知识9-dockerfile补充

    2023-12-17 09:46:02       58 阅读
  2. 飞天使-docker知识2-dockerfile构建镜像

    2023-12-17 09:46:02       58 阅读
  3. 飞天使-docker知识6-容器dockerfile各项名词解释

    2023-12-17 09:46:02       45 阅读
  4. 飞天使-docker知识7-docker-compose与namespaces

    2023-12-17 09:46:02       56 阅读
  5. 飞天使-docker知识11-docker-swarm

    2023-12-17 09:46:02       53 阅读
  6. 飞天使-docker知识12-docker-compose

    2023-12-17 09:46:02       62 阅读
  7. 飞天使-docker知识1-安装docker以及手动制作镜像

    2023-12-17 09:46:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 09:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 09:46:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 09:46:02       82 阅读
  4. Python语言-面向对象

    2023-12-17 09:46:02       91 阅读

热门阅读

  1. 设计模式-单例模式(Singleton)

    2023-12-17 09:46:02       53 阅读
  2. 第二百一十回

    2023-12-17 09:46:02       68 阅读
  3. 最大距离。

    2023-12-17 09:46:02       54 阅读
  4. react面试总结3

    2023-12-17 09:46:02       46 阅读
  5. 力扣题目学习笔记(OC + Swift) 13. 罗马数字转整数

    2023-12-17 09:46:02       58 阅读