当前位置: 首页 > 知识库问答 >
问题:

用一个命令构建和运行Dockerfile

朱英范
2023-03-14

是否可以从Dockerfile构建映像并使用单个命令运行它
有一个命令docker build来构建Dockerfile,还有docker run-it来运行映像。

有没有这两个命令的任何组合,使它更容易构建和运行只有一个命令?

共有3个答案

袁运良
2023-03-14

为了方便起见,我使用docker compose,因为我正在构建的大多数应用程序迟早都会与外部服务进行通信,所以如果我要使用它,为什么不从一开始就使用它呢。让docker来写。yml as:

version: "3"
services:
  app:
    build: .

然后只需使用以下选项运行应用程序:

docker-compose up --build app

它将重建图像或重用容器,具体取决于是否对图像定义进行了更改。

水麒
2023-03-14

不,没有单一命令。但如果在构建图像时标记图像,则运行起来会更容易:

docker build -t foo . && docker run -it foo
蒙华翰
2023-03-14

如果要避免标记,docker build-q只输出最终图像哈希,您可以将其用作docker run参数

docker run -it $(docker build -q .)

如果您希望容器退出时自动删除,请将--rm添加到docker run

docker run --rm -it $(docker build -q .)
 类似资料:
  • 问题内容: 我有一个使用eclipse ide编写的Java项目,我想在另一台机器上通过ssh运行它,但是我必须使用命令行来执行此操作,但我不知道该怎么做。 我是Shell命令和Java的初学者。 您能否给我一个有用的链接,其中包含有关此问题的答案,或者提供了有关如何执行此操作的固定说明? 问题答案: Maven或Ant是最好的选择,但是对于 仅Eclipse的 解决方案, 您可以选择 File-

  • 本章既是一个目前所学的很多技能的概括,也是一个更多标准库功能的探索。我们将构建一个与文件和命令行输入/输出交互的命令行工具来练习现在一些你已经掌握的 Rust 技能。 在这个过程中,我们会展示如何让我们的命令行工具利用很多命令行工具中用到的终端功能。读取环境变量来使得用户可以配置工具的行为。打印到标准错误控制流() 而不是标准输出(),例如这样用户可以选择将成功输出重定向到文件中而仍然在屏幕上显示

  • 一如之前使用 cargo new 新建一个项目。我们称之为 minigrep 以便与可能已经安装在系统上的grep工具相区别: 第一个任务是让 minigrep 能够接受两个命令行参数:文件名和要搜索的字符串。也就是说我们希望能够使用 cargo run、要搜索的字符串和被搜索的文件的路径来运行程序,像这样: $ cargo run searchstring example-filename.tx

  • 所有的构建命令,都会通过NPM脚本执行。 npm run dev 启动一个Node.js本地开发服务器。在 开发环境代理api中查看更多细节。 Webpack + vue-loader 来处理Vue单文件组件 状态支持热更新 状态支持浮层显示编译错误 在保存的时候,通过ESLint做语法检测 可以开启Source maps npm run build 构建生产环境的资源. 在 整合后端框架 查看更

  • 我正在创建一个脚本,我需要同时运行exe文件和命令。我做错了什么? 命令行需要完全如下,否则不起作用:C:\Program Files(x86)\Jenkins 谢谢

  • 我是春靴新手。 我有一个带有几个模块的maven项目,还有一些带有web服务的模块,我希望将其迁移到Spring Boot web(这样它们就可以从jar文件运行,而无需部署到服务器)。 我想用一个命令来构建它,比如smth 为此,我将spring-boot-maven-plugin、spring-boot-starter-parent和spring-boot-starter-web包含到每个服务