Amazon-Web-Services

AWS 程式碼建構錯誤:無法連接到 docker 守護程序

  • August 5, 2019

我試圖使用 aws 程式碼建構服務建構 docker 映像,然後將其推送到 ECR。我用於它的命令"buildspec.yml"在下面指定。

version: 0.2
phases:
 install:
   runtime-versions:
       docker: 18
pre_build:
     - $(aws ecr get-login --no-include-email --region us-east-1)
     - REPOSITORY_URI=XXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/devopswebbuild
     - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
     - IMAGE_TAG=${COMMIT_HASH:=latest}
 build:
   commands:
     - docker build -t $REPOSITORY_URI:latest .
     - docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
 post_build:
   commands:
     - docker push $REPOSITORY_URI:latest
     - docker push $REPOSITORY_URI:$IMAGE_TAG

但我在建構過程中遇到錯誤,docker 命令無法連接到 docker daemon。請幫我解決這些問題。

Docker建構項目配置詳細資訊如下:

程式碼

建構錯誤詳細資訊如下:

在此處輸入圖像描述

我正在回答我自己的問題,所以它可能會幫助遇到同樣問題的人。解決方案非常簡單,我需要檢查我沒有註意到的特權選項卡。

在此處輸入圖像描述

解決方案 :

  1. 從 AWS CodeBuild 控制台中,選擇建構項目。
  2. 從右上角選擇“編輯”下拉菜單,然後選擇“環境”選項。
  3. 在“編輯環境”頁面中,選擇“覆蓋圖像”。在此之後,向下滾動以找到“特權”選項並選擇它。
  4. 選擇“更新環境”以確保屬性已更新。

引用自:https://serverfault.com/questions/968351