当前位置: 首页 > 面试题库 >

如何在Dockerfile中设置映像名称?

籍靖
2023-03-14
问题内容

您可以在构建自定义图像时设置图像名称,如下所示:

docker build -t dude/man:v2 . # Will be named dude/man:v2

有没有一种方法可以在Dockerfile中定义映像的名称,所以我不必在docker build命令中提及它?


问题答案:

Dockerfile中不支持图像的标记。这需要在您的构建命令中完成。解决方法是,您可以使用docker-
compose.yml进行构建,以标识目标映像名称,然后运行docker-compose build。一个示例docker-
compose.yml看起来像

version: '2'

services:
  man:
    build: .
    image: dude/man:v2

就是说,有人反对使用compose进行构建,因为这不适用于swarm模式部署。因此,您将返回在问题中给出的命令:

docker build -t dude/man:v2 .

就个人而言,我倾向于在我的文件夹(build.sh)中使用一个小的Shell脚本进行构建,该脚本会传递任何args,并在其中包含图像名称以保存输入。对于生产来说,构建是由在管道脚本中具有映像名称的ci
/ cd服务器处理的。



 类似资料:
  • 问题内容: 我是Docker的新手。我发现我们可以使用Dockerfile中的ENV指令设置环境变量。但是,如何在Dockerfile中为长命令设置bash别名? 问题答案: 基本上就像您经常做的那样,将其添加到用户的: 和往常一样,这仅适用于交互式外壳: 对于非交互式外壳,您应该创建一个小脚本并将其放在路径中,即: 如果您的别名使用参数(即-> ),则只需添加:

  • 在创建docker映像时,我想添加一个数据库和导入模式。当我尝试时,我得到了下面的错误。 160829 22:32:44 mysqld_safe日志记录到'/var/lib/mysql/2DA0903FF372.err'。160829 22:32:44 mysqld_safe从pid文件/var/run/mysqld/mysqld.pid ende d错误2002(HY000):无法通过套接字“/

  • 我正在尝试对齐HStack中的图像,但是stack下的HStack图像不工作。 代码:- 输出:- 我的目标:- 有人能给我解释一下如何在HStack下显示图像吗?我已经试着用上面的方法实现了,但是还没有结果。 如有任何帮助,将不胜感激。 提前道谢。

  • 问题内容: 我正在处理dockerfile。我只是意识到我一直在使用索引图像。 所以我想知道: 如何在我的本地(自定义)图像之一不作为索引的情况下将其用作基础()图像? 问题答案: 您可以使用它而无需执行任何特殊操作。如果您有一个本地图像,可以这样做。如果您在Dockerfile中进行操作,但 没有 名为的本地映像, 则 Docker将尝试从注册表中提取它。 换句话说,如果Dockerfile这样

  • 将创建如下映射: 问题:如何在Java中显式设置约束名称? 我不能引入双向映射,因为类将在多个其他类中使用。

  • 问题内容: 我用来创建一个容器。 然后提交映像并推送到docker hub。 采用 该细节 现在,我要删除此图像中的音量。 我该怎么办? 问题答案: 我不认为现在使用Docker工具是不可能的。您无法从正在运行的容器中删除卷,或者如果要将映像用作新Dockerfile中的基础,则无法删除继承的卷。 可能您可以使用JérômePetazzoni的工具手动删除容器内的安装架,然后提交。您可以使用这种方