详解Dockerfile基本使用方法 (详解豆浆机电路图原理)

教程大全 2025-07-08 16:34:18 浏览

Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取 Dockerfile 中的指令自动生成映像,下面为大家分享一下Dockerfile基本使用方法。

Dockerfile分为四部分

基础镜像信息

维护者信息

镜像操作指令

容器启动时执行指令

格式为from或者FROM:

第一条指令必须为FROM指令。并且,如果在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令(每个镜像一次)

示例:

FROMcentos:6.6

MAINTAINER

格式为MAINTAINER,指定维护者信息

示例:

MAINTAINERBreezeYan
格式为RUN或者RUN[,,]

前者将在shell终端中运行命令,即/bin/sh -c;后者使用exec执行。每条RUN指令将在当前镜像基础上执行指定命令,并提交为新的镜像。当命令较长时,可以使用\来换行。 示例:

RUN[,,]CMD支持三种格式:CMD[,,]CMDparam1param2#在/bin/sh中执行,提供给需要交互的应用CMD[,]

指定启动窗口时执行的命令,每个Dockerfile只能有一条CMD命令。如果指定了多条,只有最后一条会被执行。如果用户启动容器时指定了运行的命令,则会覆盖掉CMD指定的命令

示例:

格式为EXPOSE[...]

告诉docker容器暴露的端口,供互联系统使用。在启动容器时需要通过-P,docker主机会自动分配 一个端口转发到指定的端口,使用-p,则可以具体指定哪个本地端口映射过来。

示例:

EXPOSE2280
格式为ENV

指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持

示例:

ENVTZENVTERMxterm
格式为ADD
详解豆浆机电路图原理

该命令将复制指定的到容器中的。其中可以是dockerfile所在目录的一个相对路径(文件或目录),也可以是一个URL,还可以是一个tar文件(自动解压为目录)

示例:

ADDaliyun-mirror.repo/etc/yum.repos.d/CentOS-Base.repoADDaliyun-epel.repo/etc/yum.repos.d/epel.repo
格式为COPY

与ADD类似,复制本地主机的为容器中的,目标路径不存在时,会自动创建。当使用本地目录为源目录时,推荐使用COPY

ENTRYPOINT

格式:ENTRYPOINT[,,]ENTRYPOINTparam1param2(shell中执行)

与CMD类似,配置容器启动后执行的命令,但不会被docker run 提供的参数覆盖。每个dockerfile只能有一个ENTRYPOINT,如果指定了多个,只有最后一个被执行

格式为VOLUME[]

创建一个挂载点,类似于容器启动时使用的-v选项,只不过这里不能指定挂载到宿主机的位置。默认为/var/lib/docker/vfs目录下。一般用来存放数据库和需要保持的数据。

格式为USERdaemon

指定运行容器时的用户名或UID,后续的RUN也会使用指定用户。当服务不需要管理员权限时,可以通过该命令指定运行用户。并且可以在之前创建所需要的用户。要临时获取管理员权限时可以使用gosu。

格式为WORKDIR/path/to/workdir

为后续的RUN、CMD、ENTRYPOINT指令配置工作目录。可以使用多个WORKDIR指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径。

示例:

WORKDIR/aWORKDIRbWORKDIRc
格式为ONBUILD[INSTRUTION]

配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令。

例如dockerfile使用如下内容创建了镜像A:

...ONBUILDADD./app/srcONBUILDRUN/usr//bin/python-build--dir/app/src...

如果基于镜像A创建新的镜像时,新的dockerfile使用FROM A指定基础镜像时,会自动执行ONBUILD指令内容,等价于在后面添加了两条指令。

ADD./app/srcRUN/usr//bin/python-build--dir/app/src

#mysoft/centos:6.6为新生成的镜像的标签,/tmp/dockerfile/centos6为dockerfile所在路径。

dockerbuild-tmysoft/centos:6.6/tmp/dockerfile/centos6

mac下docker安装目录在哪

Dockerfile 中 ADD 和 COPY 命令不能使用绝对路径,只能使用相对路径。 这点在官方文档中说的比较清楚 如果不是非要把文件 build 到 image里,可以通过 run container 的时候通过 -v 参数将 host 文件或目录加载/共享到 container 里。

如何进入docker的node镜像

1.什么是docker?Docker allows you to package an application with all of its dependencies into a standardized unit for software 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。 几乎没有性能开销,可以很容易地在机器和数据中心中运行。 最重要的是,他们不依赖于任何语言、框架包括系统。 Docker 的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。 在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。 用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。 下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。 (图片来自Docker官方网站)简单入门Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands you would normally execute manually in order to build a Docker image. By calling docker build from Your terminal, you can have Docker build your image step by step, executing the instructions 通过读取Dockerfile文件中的指令自动构建镜像。 Dcokerfile是一个文本文件,它包含了构建镜像所需要执行的全部命令。 执行docker build命令,Docker就会按照文档执行并最终创建一个镜像。 (这段话是翻译上面那段话的%>_<%)。 Dockerfile支持支持的语法命令如下:INSTRUCTION argument指令不区分大小写。 但是,命名约定为全部大写。 Dockerfile都必须以FROM命令开始。 FROM命令会指定镜像基于哪个基础镜像创建,接下来的命令也会基于这个基础镜像(译者注:CentOS和Ubuntu有些命令可是不一样的)。 FROM命令可以多次使用,表示会创建多个镜像。 具体语法如下:

linux 操作系统 常用 命令 有哪些?

一. 启动,关机,登入,登出相关命令 登录 登出 登出 停止系统 停止系统 重启动 切断电源 把内存里的内容写入磁盘 安装lilo启动管理程序 安装lilo启动管理程序二. Shell相关命令 切换Shell 显示命令履历 设置命令别名 取消命令别名 显示命令所在位置 查询命令种类 显示字符串或者变量内容 设置/显示Shell变量 显示环境变量 设置环境变量 设置临时环境变量 释放环境变量 设置环境变量 释放环境变量 执行文件当中的命令 查询命令手册 查询超文本命令手册 显示命令简介 通过关键字查询手册三. 用户管理相关命令 切换到其他用户 追加用户 追加用户 删除用户 修改用户设置 修改用户私人信息 追加组 删除组 修改组设置 更改密码 显示用户名 显示登录用户帐号 显示所有登录用户信息 查询登录用户信息 查询登录用户信息 显示指定用户的ID信息 显示指定用户的所属组 显示指定用户的个人信息 开关与他人收发消息 给其他用户发消息 给所有用户发消息 和其他用户聊天四. 系统消息相关命令 显示/设置当前时间 显示系统运行时间 显示机器的核心构架(如i386) 显示操作系统信息 显示终端名 显示登录/登出在履历 显示非法登录信息 显示当前键盘配置 变更键盘配置 查询磁盘使用信息 查询磁盘使用信息 显示系统启动消息 | 滇ICP备2022003334号-8 滇ICP备2022003334号-8