迹忆客 EN >

当前位置:主页 > 学无止境 > 操作系统 > Docker >

在 Docker 中组合构建和运行命令

作者:迹忆客 最近更新:2023/04/16 浏览次数:

如果我们使用 Dockerfile 自动创建容器,我们通常使用 docker buildrun 命令。 但是,我们通常将大多数命令组合在一次运行中以整理本地图像存储库。

本文将讨论将 docker buildrun 等命令组合在一行中。


docker build 和 docker run 命令的目的

结合使用 docker builddocker run 命令在多种情况下会很有帮助。 例如,如果我们正在开发一个新的应用程序并希望快速测试它,则可以使用这些命令在容器中构建和运行它。

这可以节省您的时间并使您更容易测试您的应用程序。

docker build 命令读取 Dockerfile 中的指令并使用它们来创建 Docker 映像。 如果我们已经构建了 Dockerfile,我们可以使用 docker run -it 命令来运行镜像。

此命令从图像创建一个新容器并以交互模式运行它。

这种模式意味着我们可以与容器交互并在其中运行命令。 虽然我们可以单独运行它们,但有几种方法可以在一行中运行它们。


使用双符号运算符 (&&) 组合 Docker 命令

组合 docker builddocker run -it 命令的一种方法是将 --rm 标志与 docker run 命令一起使用。 此标志指示 Docker 在容器自动退出时删除容器。

这个标志意味着我们可以像这样在一行中运行 docker builddocker 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 builddocker run 命令是构建和运行 Docker 镜像的强大工具。 结合这些命令,我们只需一行代码即可构建和运行 Docker 镜像,从而更轻松、更快速地开发、测试和部署您的应用程序。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Solution to incorrect access log time when deploying Nginx in Docker

发布时间:2025/03/26 浏览次数:165 分类:Docker

In the process of operating the website, I never took the logs too seriously. Although logging was turned on, I never analyzed the logs carefully. Today, when I looked at the logs on a whim, I found that the recorded time was 8 hours less t

Docker deploys nginx php application

发布时间:2025/03/26 浏览次数:131 分类:Docker

I'm learning docker recently. I'm learning by building an nginx+php development environment example. Here I record the build process. First, give a docker-compose.yml deployment configuration file version: '3' services: nginx: container_nam

How to use Docker to image a Node.js web application

发布时间:2025/03/26 浏览次数:107 分类:Docker

Docker is a containerization platform that simplifies the packaging and execution of applications. Containers run as independent processes with their own file systems, but share the kernel of their host machine. Docker has attracted much at

Start a Bash terminal in a new Docker container

发布时间:2025/03/26 浏览次数:97 分类:Docker

Docker containers are a standard unit for packaging all the dependencies of an application, allowing us to easily run them in any environment. Containers have become very popular recently, and most developers now rely heavily on containers

Passing environment variables to containers in Docker

发布时间:2025/03/26 浏览次数:124 分类:Docker

This article will introduce how to pass environment variables to containers in Docker. Passing environment variables to containers in Docker using the -e and tags -env We will first see how to create environment variables and pass them to t

Install Docker using Homebrew

发布时间:2025/03/26 浏览次数:202 分类:Docker

There is no doubt that Docker containers have revolutionized the way we develop and deploy applications. They provide developers with the ability to package applications and dependencies in an isolated environment. Recently, we've seen wide

Enforce clean build of images in Docker

发布时间:2025/03/26 浏览次数:87 分类:Docker

This article discusses and demonstrates how to enforce clean builds of images in Docker. Building images in Docker We will use a simple Flask application to demonstrate this concept. my-app Create a app.py simple application named in the ho

Running a Docker instance from a Dockerfile

发布时间:2025/03/26 浏览次数:140 分类:Docker

Docker containers have undoubtedly become the standard unit for managing software and dependencies in different environments. When using real applications, you must create a docker file before building the container image of the application

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便