Amazon web services gitlab CI创建docker映像并推送到AWS

Amazon web services gitlab CI创建docker映像并推送到AWS,amazon-web-services,docker,gitlab-ci,Amazon Web Services,Docker,Gitlab Ci,我在AWS上设置了docker注册表(ECR)。在我的gitlab存储库中,我想设置一个CI来自动创建图像并将它们推送到存储库。 我按照以下步骤设置所有内容,但在运行示例时,我收到了错误 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 我的yml文件看起来像这样 image: docker:latest variables: REPOSITO

我在AWS上设置了docker注册表(ECR)。在我的gitlab存储库中,我想设置一个CI来自动创建图像并将它们推送到存储库。 我按照以下步骤设置所有内容,但在运行示例时,我收到了错误

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
我的yml文件看起来像这样

image: docker:latest

variables:
  REPOSITORY_URL: <aws-url>/<registry>/outsite-slackbot

services:
  - docker:dind

before_script:
  - apk add --no-cache curl jq python py-pip
  - pip install awscli

stages:
  - build

build:
  stage: build
  script:
    - $(aws ecr get-login --no-include-email --region eu-west-1)
image:docker:latest
变量:
存储库\u URL://outsite slackbot
服务:
-码头工人:丁
在脚本之前:
-apk add——无缓存curl jq python py pip
-pip安装awscli
阶段:
-建造
建造:
阶段:建造
脚本:
-$(aws ecr get登录--不包括电子邮件--地区eu-west-1)

docker文件没有问题,顺便说一下,您无法连接到docker守护程序。因此,请检查以下步骤:

  • 您是否以root用户身份登录?(
    sudo su
    sudo-i
  • 启动Docker服务(
    服务Docker Start

然后按照教程进行操作:)

docker文件没有问题,顺便说一下,您无法连接到docker守护程序。因此,请检查以下步骤:

  • 您是否以root用户身份登录?(
    sudo su
    sudo-i
  • 启动Docker服务(
    服务Docker Start

然后按照教程进行操作:)

您使用的是私人跑步者还是来自gitlab.com的跑步者?我使用的是共享跑步者,因此没有私人跑步者您使用的是私人跑步者还是来自gitlab.com的跑步者?我使用的是共享跑步者,因此,没有专用onesCan我可以从CI内启动服务?您应该从Gitlab服务器启动它,然后Gitlab CI将向Docker请求。从github服务器启动它是什么意思?docker守护程序不应该在定义的映像内运行吗(在本例中,docker:latest是alpine)?您不能在映像内运行docker守护程序,您可以使用它,您希望在Gitlab CI配置(yml文件)内使用docker映像,但问题是您与docker的连接,没有docker就没有docker映像。因此,在Gitlab服务器中,您的CI至少需要一个Gitlab运行程序。默认情况下,Gitlab上没有安装Gitlab runner。*我可以从CI中启动服务吗?您应该从Gitlab服务器启动服务,然后Gitlab CI将向Docker请求。从github服务器启动服务是什么意思?docker守护程序不应该在定义的映像内运行吗(在本例中,docker:latest是alpine)?您不能在映像内运行docker守护程序,您可以使用它,您希望在Gitlab CI配置(yml文件)内使用docker映像,但问题是您与docker的连接,没有docker就没有docker映像。因此,在Gitlab服务器中,您的CI至少需要一个Gitlab运行程序。默认情况下,Gitlab上没有安装Gitlab runner*