Amazon web services 如何在Gitlab CI/CD中启动Docker容器

Amazon web services 如何在Gitlab CI/CD中启动Docker容器,amazon-web-services,docker,gitlab,amazon-dynamodb,Amazon Web Services,Docker,Gitlab,Amazon Dynamodb,我是Gitlab的新手(我只知道git的基本特性:拉、推、合并、分支……) 我正在使用一个由docker run-p8000:8000 amazon/DynamoDB local启动的本地DynamoDB数据库来对我的Python项目进行单元测试。因此,我必须在Gitlab CI/CD中启动这个docker容器,以便我的单元测试工作 我已经在gitlab网站上阅读了关于这个主题的文档,但没有找到问题的答案,我知道我必须修改我的gitlab ci.yml文件才能启动docker容器。使用gitla

我是Gitlab的新手(我只知道git的基本特性:拉、推、合并、分支……)

我正在使用一个由docker run-p8000:8000 amazon/DynamoDB local启动的本地DynamoDB数据库来对我的Python项目进行单元测试。因此,我必须在Gitlab CI/CD中启动这个docker容器,以便我的单元测试工作


我已经在gitlab网站上阅读了关于这个主题的文档,但没有找到问题的答案,我知道我必须修改我的
gitlab ci.yml
文件才能启动docker容器。

使用gitlab时,可以在docker中使用docker

在.gitlab-ci.yml文件的顶部

image: docker:stable

services:
- docker:dind
然后在测试阶段,您可以启动数据库并使用它

unit_tests:
  stage: tests
  script:
  - export CONTAINER_ID=$(docker run -p 8000:8000 amazon/dynamodb-local)
  ## You might need to wait a few seconds with `sleep X` for the container to start up.
  ## Your database is now here docker:8000
  ## Run your tests here. Database host=docker and port=8000

这是我找到的实现它的最好方法,最容易理解的

Docker中的Docker是您正在寻找的工作,但是如何在软件后执行测试?在我的特殊情况下,我需要使用maven执行测试(测试使用的是本地dynamodb),但是映像
docker:stable
不包含maven,因此
/bin/sh:eval:line 87:mvn:not found
在管道上失败。如何解决?