在 Docker 中组合构建和运行命令
如果我们使用 Dockerfile 自动创建容器,我们通常使用 docker build
和 run
命令。 但是,我们通常将大多数命令组合在一次运行中以整理本地图像存储库。
本文将讨论将 docker build
和 run
等命令组合在一行中。
docker build 和 docker run 命令的目的
结合使用 docker build
和 docker run
命令在多种情况下会很有帮助。 例如,如果我们正在开发一个新的应用程序并希望快速测试它,则可以使用这些命令在容器中构建和运行它。
这可以节省您的时间并使您更容易测试您的应用程序。
docker build
命令读取 Dockerfile 中的指令并使用它们来创建 Docker 映像。 如果我们已经构建了 Dockerfile,我们可以使用 docker run -it
命令来运行镜像。
此命令从图像创建一个新容器并以交互模式运行它。
这种模式意味着我们可以与容器交互并在其中运行命令。 虽然我们可以单独运行它们,但有几种方法可以在一行中运行它们。
使用双符号运算符 (&&) 组合 Docker 命令
组合 docker build
和 docker run -it
命令的一种方法是将 --rm 标志与 docker run
命令一起使用。 此标志指示 Docker 在容器自动退出时删除容器。
这个标志意味着我们可以像这样在一行中运行 docker build
和 docker run
命令:
$ docker run --rm -it $(docker build -t my-image)
在此示例中,my-image 是将构建和运行的 Docker 映像的名称。docker build
命令末尾的句点 .
表示Dockerfile在当前目录下。
一旦我们运行此命令,Docker 将使用 Dockerfile 中的指令构建映像,然后在新容器中运行该映像。 --rm 标志确保我们在容器退出时自动删除它。
使用命令替换组合 Docker 命令
组合这两个命令的另一个示例是将它们与美元符号 ($) 运算符嵌套在一起。 该命令应如下所示:
docker run --rm -it $(docker build -t my-image)
$(...)
语法称为命令替换。 我们使用命令替换是因为 Docker 使用一个命令的输出作为另一个命令的参数。
在上面的例子中,Docker 首先执行 docker build -t my-image
命令,并将输出(新构建的 Docker 镜像的 ID)用作 docker run 命令的参数。 通过使用替换,Docker 使 docker run
命令使用 docker build
命令返回的 ID 运行 Docker 映像。
此外,如果我们要将应用程序部署到生产环境,我们可以使用此方法构建 Docker 镜像并在生产服务器上运行它。 这有助于确保您的应用程序在一致的环境中运行,并使其更易于管理和维护。
总结
总的来说,docker build
和 docker run
命令是构建和运行 Docker 镜像的强大工具。 结合这些命令,我们只需一行代码即可构建和运行 Docker 镜像,从而更轻松、更快速地开发、测试和部署您的应用程序。
相关文章
在 Linux 中托管 Docker Internal
发布时间:2023/04/18 浏览次数:139 分类:Docker
-
Docker 允许开发人员通过将应用程序包装在称为容器的标准化单元中来高效地构建、测试和部署应用程序。 在使用 Docker 容器时,您可能会遇到需要将容器与主机连接的场景。
在 Docker 中设置工作目录
发布时间:2023/04/18 浏览次数:82 分类:Docker
-
在 Docker 中,我们可以通过编辑 Dockerfile 并添加密钥 WORKDIR 来设置我们的工作目录。本文将讨论在 Docker 中更改我们当前和默认的工作目录。
在 Docker 容器中公开多个端口
发布时间:2023/04/18 浏览次数:143 分类:Docker
-
Docker 容器使用端口来实现万维网上不同设备之间的通信。 在本篇文章中,我们将学习如何使用 Nginx 应用程序在 Docker 容器中公开多个端口。
将用户添加到 Docker 容器
发布时间:2023/04/18 浏览次数:187 分类:Docker
-
在本文中,我们将学习如何通过实现返回产品数组的 Express 应用程序将用户添加到 Docker 容器。
使用 Docker 网络主机命令
发布时间:2023/04/18 浏览次数:112 分类:Docker
-
在本文中,我们将学习如何使用 --network 命令将容器添加到主机网络。 如果我们不使用此命令指定网络,我们还将了解如何将容器添加到默认网络。
清除 Docker 容器日志
发布时间:2023/04/18 浏览次数:181 分类:Docker
-
本文介绍了我们可以用来清除 docker 容器中日志的不同方法。日志是应用程序在特定事件或状态发生时记录的信息,它们帮助我们监控应用程序并采取必要的措施。
Dockerfile 中 COPY 和 ADD 命令的区别
发布时间:2023/04/18 浏览次数:158 分类:Docker
-
在 Dockerfile 中,我们可以使用 COPY 或 ADD 命令复制这些文件。 这些命令在功能上是相同的; 但是,存在一些差异。本文介绍了 Dockerfile 中 COPY 和 ADD 命令之间的区别。