如何在Docker容器中运行命令?

构建docker映像并创建其正在运行的实例后,或者换句话说,您创建了docker容器后,可能要在docker容器内执行一些命令以安装软件包或打印软件包或浏览其中的内容。容器内的目录。Docker为您提供了几种完全相同的方法。您可以轻松访问容器环境,在该环境内执行命令,也可以在其中访问或创建文件和目录。在本文中,我们将讨论在Docker容器中运行或执行命令的一些方法。

  • 使用Docker exec命令

您可以通过本地计算机的命令行使用docker exec命令在容器内运行命令。为此,您需要具有要在其中执行命令的容器的容器ID。要获取所有容器的容器ID,可以使用以下命令-

sudo docker ps −a

上面的命令将显示所有容器及其名称,id和其他信息。您可以复制要在其中运行命令的容器的容器ID。假设您要在该容器中回显一条语句,可以使用以下命令来执行此操作。

sudo docker exec −it <container−id> echo "Welcome to nhooo"

请注意,要使用exec命令在容器内执行命令,您的容器必须处于运行状态,否则将抛出错误,指出具有该容器ID的容器未运行。

  • 使用容器的重击

在docker容器环境中运行命令的另一种方法是启动该特定容器的bash并在其中执行命令。您可以使用以下命令启动容器的bash-

sudo docker run −it <image−name> bash

由于-i标志,上述命令将在交互式shell中调用与指定图像名称关联的容器的bash。在bash中,您可以执行命令。例如,您可以使用-更新ubuntu泊坞窗-

apt−get update

或者您可以安装一个软件包,例如-

apt−get install firefox
  • 使用dockerfile

这是在Docker容器中运行或执行命令的最常见方法。Dockerfile包含一组指令,这些指令在您首次使用docker build命令构建映像时会逐步执行。您可以在docker文件中使用RUN指令运行命令。例如,如果您想在ubuntu容器中安装firefox,则可以通过以下方式在dockerfile中指定它们:

FROM ubuntu
RUN apt−get −y update
RUN apt−get install firefox

总而言之,很明显docker容器与任何linux终端都没有什么不同。您可以按照与本地系统终端中类似的方式执行命令。如果您希望一开始只在容器中运行一次命令(例如要安装基本软件包或库),则可以将其直接指定到dockerfile中。如果要在docker容器中运行python shell或任何应用程序,则可以轻松启动bash并在其中执行命令。