📜  在Docker容器中运行命令

📅  最后修改于: 2021-04-17 04:04:31             🧑  作者: Mango

如果您正在Docker Container内的应用程序上工作,则可能需要命令在Docker Container内安装软件包或访问文件系统。对您而言,在Docker容器中执行命令应该足够容易,因为在开发阶段必须多次执行。 Docker为您提供了许多在容器内执行命令的方法。

在本文中,我们将讨论在Docker容器内执行任何类型的命令的不同方法。

方法1:使用重击

您可以直接访问Docker容器的bash并在其中执行命令。启动Container的bash非常容易,您可以使用此命令来启动bash。

sudo docker run -it ubuntu bash

上面的命令运行一个Ubuntu容器并启动其bash。

使用bash命令

一旦可以访问bash,则可以在此处开始执行任何命令。在此示例中,我们将执行echo命令执行。

echo geeksforgeeks

回声

方法2:使用Docker exec命令

为了使用exec命令在Docker容器内运行命令,您必须知道Docker容器的容器ID。您可以使用以下命令获取容器ID。

sudo docker container ls

或者

sudo docker ps -a

图片

获得容器ID后,就可以使用Docker exec命令。但是必须先确认容器正在运行,然后才能执行exec命令。要启动容器,请使用此命令。

sudo docker start d64b00529582

之后,执行exec命令。

sudo docker exec -it d64b00529582 echo "GeeksforGeeks"

exec命令

方法3:通过使用Dockerfile

在创建大型应用程序时,始终建议您通过在Dockerfile中指定命令来执行命令。但是,您只应在构建容器时将要执行的那些命令包含在Dockerfile中。要在旅途中执行命令,可以使用上面两种方法中的任何一种。要通过Dockerfile执行命令,可以使用Docker Run Commands指定它们。

FROM ubuntu:latest
RUN echo "geeksforgeeks"

创建上述Dockerfile之后,可以使用Docker build命令构建映像。

sudo docker build -t sample-image .

使用dockerfile

您可以看到在步骤2之后,已经打印了“ geeksforgeeks”。