Ошибка контейнера Golang Azure Devp[s]: standard_init_linux.go:228: пользовательский процесс exec вызван: нет такого файла или каталога

# #docker #go #azure-devops

Вопрос:

Я создал конвейер Azure devops для создания и создания образа докера puch для API Golang. Если я выполняю «сборку go» в файле dockerfile, это работает, но я хочу создать проект go в отдельной задаче, а затем создать контейнер docker отдельно. Контейнер создан, но когда я запускаю программу, я получаю ошибку «standard_init_linux.go:228: пользовательский процесс exec вызван: такого файла или каталога нет». Ниже приведен файл dockerfile, который я использую :

 FROM golang:1.16-alpine ENV GOOS=linux  ENV GOARCH=amd64 RUN mkdir -p /app ADD . /app WORKDIR /app RUN ls RUN go mod download #RUN go build -o main EXPOSE lt;PortNamegt; ENTRYPOINT [ "/app/main"]  

Мой трубопровод выглядит так :

 trigger: - main  resources: - repo: self  variables:  tag: '$(Build.BuildId)'  stages: - stage: Build  displayName: Build image  jobs:  - job: Build  displayName: Build pool:  vmImage: ubuntu-latest  steps:  - task: GoTool@0  inputs:  version: '1.17.2' - task: Go@0  inputs:  command: 'get'  arguments: '-d'  workingDirectory: '$(System.DefaultWorkingDirectory)' - task: Go@0  inputs:  command: 'build'  arguments: '-o main'  workingDirectory: '$(System.DefaultWorkingDirectory)' - task: CopyFiles@2  inputs:  TargetFolder: '$(Build.ArtifactStagingDirectory)'  - task: Docker@2  inputs:  containerRegistry: 'ContainerRegistryConnection'  repository: 'APISetup'  command: 'buildAndPush'  Dockerfile: '**/Dockerfile'  buildContext: '$(Build.ArtifactStagingDirectory)'  tags: |  $(Build.BuildId)  Latest  

В приведенном выше doe, если я включу «#RUN go build-o main» в файле docker и просто выполню задачу Docker@2 с контекстом сборки как.., тогда контейнер работает нормально .Пожалуйста, подскажите, чего мне может не хватать.

Комментарии:

1. Если у вас нет go build приложения, что должна /app/main выполнять команда?

2. Да, похоже /app/main , что это пропавший файл или каталог

3. Перейдите к задаче@0, создайте приложение . Я попытался опубликовать артефакт и проверил это .