iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >有哪些常用的Dockerfile命令
  • 931
分享到

有哪些常用的Dockerfile命令

2023-06-14 14:06:14 931人浏览 泡泡鱼
摘要

这期内容当中小编将会给大家带来有关有哪些常用的Dockerfile命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。01 CMDCMD命令用于指定一个容器启动的时候需要运行的命令。它和RUN指令有点类似,

这期内容当中小编将会给大家带来有关有哪些常用的Dockerfile命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

01 CMD

CMD命令用于指定一个容器启动的时候需要运行的命令。它和RUN指令有点类似,但是不同之处在于:

RUN指令是镜像被构建的时候,需要执行的命令;

CMD指令是指定容器被启动的时候,要运行的指令。举例:

docker run -it  container_name  /bin/ls

这个命令是我们启动一个容器,并且运行/bin/ls

它相当于我们手工进入docker中执行ls命令。在DockerFile中可以使用下面的命令进行代替:

CMD [ "/bin/ls" ]

需要注意的是,在DockerFile中只能指定一条CMD命令,即使我们指定了多条,也只有最后一条能被最终执行。

如果我们在DockerFile中使用了CMD指令,则docker run命令之后会直接运行CMD指令,例如:

docker run -it container_name

会在启动这个容器之后,直接运行/bin/ls命令。

02 ENTRYPOINT

   这个命令和上面的CMD命令很像,不同之处在于,docker run命令后面指定的任何参数都会被当做参数再次传递给ENTRYPOINT指令中的命令。

03 WORKDIR

   WORKDIR指令用来在从镜像创建一个新容器时,在容器内部设置一个工作目录。ENTRYPOINT或者CMD命令会在这个目录下执行。

    这条命令往往在DockerFile的最前面出现,为后续一系列的命令设置工作目录。在指定完成某些命令之后,也可以通过这个命令来切换当前的目录。所以,通常情况下,这个WORKDIR命令最常见的使用方法应该是下面这样:

WORKDIR  /data1/xxxxxRUN xxxxxRUN xxxxxxWORKDIR /data2/xxxxxRUN xxxxxRUN xxxxx

它是不断切换目录的一个工具

如果我们在DockerFile中写明了目录,但是在docker run的时候不想使用这个目录应该怎么办?

答案是使用docker run -w /var/dir1

使用-w参数之后,会使用/var/dir1来覆盖我们DockerFile中的路径。

04 ENV

   ENV指令用来在生成DockerFile的过程中指定环境变量。例如:

ENV  PYRHON_HOME  /usr/bin/python

它可以跟上面的WORKDIR搭配起来,例如:

ENV  PYRHON_HOME  /usr/bin/PythonWORKDIR   $PYTHON_HOME

还可以在使用ENV命令生成的容器中,使用env命令,来查看当前容器的环境变量,便可以看到我们设置好的PYRHON_HOME的值。

除了这种方法之外,我们可以使用docker -e的命令来传递环境变量,但是这种方法传递的环境变量,只在运行的时候有效。

05 USER

    USER指令用来指定镜像会以什么样的用户来执行。例如:

USER mysql

当然,还可以使用

USER userUSER user:groupUSER uidUSER uid:gid

有两点需要注意:

可以使用docker run中的-u指令去覆盖DockerFile中的USER选项;

如果不指定USER选项,则默认是root用户

06 VOLUME

  VOLUME指令用来向基于镜像创建的容器添加卷。一个卷可以存在于一个或者多个容器内的特定目录。这个目录可以提供共享数据或者对数据进行持久化的功能,例如:

卷可以在容器间共享和重用

一个容器不必和其他容器共享卷

对卷的修改是立即生效的

卷会一直存在,直到没有任何容器需要他

这个功能可以让我们将部分代码或者数据添加到镜像中,而不是提交到镜像中。这样会大大缩减镜像的大小。它允许我们在多个容器间共享这些内容,所以VOLUME常常用来测试容器正确性。

VOLUME [ "/volume" ]

这条命令将会为使用此镜像创建的容器创建一个名字为/volume的挂载点。

也可以使用数组的方式创建多个挂载点:

VOLUME [ "/data1","/data2" ]

07 ADD

   ADD命令用来将构建环境下的文件和目录复制到镜像中。ADD命令使用的过程中需要文件的源位置和目标位置,如下:

ADD aaa.txt  /data1/aaa.txt

这条命令,会将镜像构建目录下的aaa.txt文件复制到镜像中的/data1/aaa.txt 目录下。源文件除了可以是构建环境上下文中的一个文件,也可以是一个URL。

在ADD文件的过程中,如果目的地址是以/结尾,那么DockerFile会认为源位置是一个目录,反之则认为源文件是一个文件。

还有一点需要注意:当源文件是一个本地归档文件的时候,例如tar.gz,则docker 会将其解压到目标文件下。

08 COPY

   COPY命令非常类似于ADD,和ADD的不同在于COPY不支持URL方法,也不会主动去解压文件,COPY指令的目的位置必须是容器内部的一个绝对路径。

需要注意:

任何由该命令创建的文件或者目录的UID和GID都会被设置成0

如果目的位置不存在,Docker将会自动创建所有需要的目录结构。就像mkdir -p那样。

上述就是小编为大家分享的有哪些常用的Dockerfile命令了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 有哪些常用的Dockerfile命令

本文链接: https://www.lsjlt.com/news/271327.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 有哪些常用的Dockerfile命令
    这期内容当中小编将会给大家带来有关有哪些常用的Dockerfile命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。01 CMDCMD命令用于指定一个容器启动的时候需要运行的命令。它和RUN指令有点类似,...
    99+
    2023-06-14
  • Dockerfile文件有哪些命令
    这篇文章主要讲解了“Dockerfile文件有哪些命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dockerfile文件有哪些命令”吧!一. dockerfile的介绍1.1 关于doc...
    99+
    2023-07-06
  • mysql命令行常用命令有哪些
    这篇文章将为大家详细讲解有关mysql命令行常用命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySql地址:www.mysql.org 第一招、mysq...
    99+
    2024-04-02
  • 有哪些常用的CentOS命令
    这篇文章给大家介绍有哪些常用的CentOS命令,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这次,我们更新了一些CentOS常用命令。它在操作中有很大的意义。这次我们也是对一些重要的CentOS常用命令进行了整理并作出...
    99+
    2023-06-16
  • 常用的Git命令有哪些
    本篇内容主要讲解“常用的Git命令有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常用的Git命令有哪些”吧!           &nbs...
    99+
    2023-06-20
  • Linux常用的命令有哪些
    今天小编给大家分享一下Linux常用的命令有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。系统信息arch 显示机器的处...
    99+
    2023-06-26
  • HDFS的常用命令有哪些
    本文小编为大家详细介绍“HDFS的常用命令有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“HDFS的常用命令有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。既然HDFS是存取数据的分布式文件系统,那么对...
    99+
    2023-06-27
  • 常用的GitLab命令有哪些
    这篇文章主要介绍“常用的GitLab命令有哪些”,在日常操作中,相信很多人在常用的GitLab命令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”常用的GitLab命令有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • 常用的Fedora命令有哪些
    ls: 列出当前目录下的文件和文件夹 cd: 切换当前工作目录 pwd: 显示当前工作目录的路径 cp: 复制文件或文件夹 mv:...
    99+
    2024-03-13
    Fedora
  • Dockerfile常用命令的使用简介
    目录01 CMD02 ENTRYPOINT03 WORKDIR04 ENV05 USER06 VOLUME07 ADD08 COPY   之前的文章中,...
    99+
    2024-04-02
  • Redis常用的命令有哪些
    这篇文章主要介绍“Redis常用的命令有哪些”,在日常操作中,相信很多人在Redis常用的命令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis常用的命令有哪些”...
    99+
    2024-04-02
  • Linux有哪些常用的命令
    这篇文章主要介绍“Linux有哪些常用的命令”,在日常操作中,相信很多人在Linux有哪些常用的命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux有哪些常用的命令”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-03
  • 有哪些Linux常用的命令
    本篇内容介绍了“有哪些Linux常用的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  每个对Linux系统有一定掌握能力的用户,都必须...
    99+
    2023-06-13
  • 常用的Ping命令有哪些
    本篇内容介绍了“常用的Ping命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Ping是个使用频率极高的实用程序,用于确定本地主机是...
    99+
    2023-06-09
  • 有哪些常用的Docker命令
    这期内容当中小编将会给大家带来有关有哪些常用的Docker命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一. 帮助命令1. 查看当前docker版本docker version2. 显示 D...
    99+
    2023-06-08
  • ubuntu的常用命令有哪些
    ubuntu的常用命令有:系统相关的命令。uname -a 显示当前系统相关信息sudo 临时获取超级用户权限su root 切换 root 用户sudo shutdown 关机sudo reboot 重启sudo nautilus 进入有...
    99+
    2024-04-02
  • 有哪些常用的dos命令
    这篇文章将为大家详细讲解有关有哪些常用的dos命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是DOS命令DOS命令,计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主...
    99+
    2023-06-08
  • 有哪些常用的Linux命令
    有哪些常用的Linux命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。file1.作用 件内容判断文件类型,使用权限是所有用户。2.格式file通过探测文file [op...
    99+
    2023-06-13
  • 有哪些常用的Git命令
    这篇文章主要介绍“有哪些常用的Git命令”,在日常操作中,相信很多人在有哪些常用的Git命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些常用的Git命令”的疑惑有所帮...
    99+
    2024-04-02
  • 常用的MySQL命令有哪些
    这篇文章主要介绍常用的MySQL命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在日常的网站维护和管理中,会用到非常多的SQL语句,熟练使用对网站管理有很多好处,尤其是站群管...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作