devops:如何使用yaml脚本从docker hub拉并运行docker image?

时间:2019-09-12 08:43:11

标签: docker azure-devops yaml

在本地计算机上,通过命令行运行:

docker run \
  --rm --name MyImage \
  -e POSTGRES_USER=user \
  -e POSTGRES_PASSWORD=myPass \
  -e POSTGRES_DB=myDB-db \
  -d \
  -p 5432:5432 \
  --mount "type=bind,source=C:\docker\postgres,destination=C:\pgsql\data"  \
  stellirin/postgres-windows

这将启动我的postgres数据库,然后运行我的NUnit测试,该测试调用该DB在容器中运行,并将端口映射到http://localhost:5432 这在本地工作正常。我在Azure Devops上使用了持续集成,并且希望将其用于Azure。要点:我不想使用Azure容器注册表,因为我已经有一个docker hub帐户, 而Azure注册表会增加将镜像从DockerHub复制到Azure注册表的额外成本和开销。

是否可以在构建管道中使用yaml(从docker hub拉出,构建并运行容器)?

不幸的是,看来我在Google上找到的大多数信息都需要Azure容器注册表。

1 个答案:

答案 0 :(得分:2)

您应该首先在项目设置->服务连接中创建服务连接。然后选择Docker Registry并输入信息。

enter image description here

以下是有关如何从YAML中的docker hub拉并运行映像的脚本。

enter image description here

您可以使用Azure管道中的任务助手对其进行编辑。

enter image description here

此外,如果要在Azure中使用映像,则需要ACR。因为ACR是可以在Azure上存储图像的方式。