我已经构建了一个Docker容器系统,其中包含一个命令行应用程序。 我使用另一个应用程序通过传递参数并使用docker exec命令来运行该应用程序。
当我在Docker内部运行命令行应用程序时,它需要0.003秒才能运行。 $ time comlineapp “hello”
但是当我使用docker exec从Docker外部运行它时,需要0.500秒。 $ time docker exec comline app “hello”
因此,显然docker exec需要很长时间。我们需要任何帮助来尽可能减少docker exec命令的时间。
以下是Docker文件:
当我在Docker内部运行命令行应用程序时,它需要0.003秒才能运行。 $ time comlineapp “hello”
但是当我使用docker exec从Docker外部运行它时,需要0.500秒。 $ time docker exec comline app “hello”
因此,显然docker exec需要很长时间。我们需要任何帮助来尽可能减少docker exec命令的时间。
以下是Docker文件:
FROM ubuntu:18.04
RUN adduser --disabled-password --gecos "" newuser
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get -y install time && \
apt-get -y install gcc mono-mcs && \
apt-get install pmccabe && \
rm -rf /var/lib/apt/lists/*
所有必需的软件已经安装完毕。
strace -ttt -T -f docker exec ...
),并且它提供了有趣的提示。此外,我了解到docker
CLI实际上使用HTTP协议访问docker引擎,这也可能是开销的原因。 - Kuchara