Azurite Blob storage in dockerfile



我正在Docker中创建我的开发环境,由于需要Azure存储服务,我想使用Azurite作为本地Azure存储服务。

当我尝试做

RUN azurite-blob &

它只是运行,此命令不会产生任何效果。我也尝试将此命令回显到文件并作为脚本运行,但结果是一样的。

当我在 docker 容器上运行相同的命令时,它会正常启动并为 azurite 创建各种目录。

所以问题是如何使蓝铜矿在 Dockerfile 的后台工作?

你不能在dockerfile的构建步骤中发出命令在后台工作,因为每个步骤都将在单独的层中运行,并在步骤完成后删除。

您可以使用:

  • ENTRYPOINTCMD来实现这一点(即在运行时运行它而不是构建(

更新

根据您的评论:

创建script.sh

#!/bin/bash
/usr/bin/azurite &
exec "$@"

你需要先在 Dockerfile 中将其设置为可执行文件:

COPY script.sh script.sh
RUN chmod +x script.sh

然后,您可以使用bash作为交互模式的命令

最新更新