작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
158
1
동일하게 파일을 넣고 simple-cicd를 넣고 실행시키는데 도커 배포에서 실패합니다.
err: #0 building with "default" instance using docker driver
23err: #1 [internal] load build definition from Dockerfile
24err: #1 transferring dockerfile: 2B done
25err: #1 DONE 0.0s
26err: ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
27err: Error response from daemon: No such container: 843371319
28err: Unable to find image 'cokeholic-kim/docker-cicd-test:latest' locally
29err: docker: Error response from daemon: pull access denied for cokeholic-kim/docker-cicd-test, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
30err: See 'docker run --help'.
위의 배포파일을 서버로 복사하는부분은 잘 실행되었는지 똑같이 터미널에서 ls로 확인했을때 폴더와 파일은 잘 옮겨져있는데 docker배포부분에서 실패하는것같습니다.
답변 2
1
저도 배포단계에서 동일한 에러가 발생하는데,
이 질문 해결책 나왔나요?
Dockerfile
FROM node:21
WORKDIR /usr/src/app
COPY package.json ./
RUN npm install
COPY ./server.js ./
CMD ["npm","start"]
simple-cicd.yaml
name: simple cicd # 워크플로우 이름
on: # 워크플로우 실행 조건
push:
branches: [ "main" ]
workflow_dispatch: # workflow 수동 실행 가능
jobs:
simple: # 변경 가능
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4 # $GITHUB_WORKSPACE 기준으로 체크 아웃
- name: 배포 파일을 서버로 복사
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_PEM_KEY }}
source: "*,!.github,!.git" # 모든 파일을 복사하되, .github/.git 폴더는 제외
target: "$HOME/${{ github.repository_id }}"
- name: 도커 배포
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_PEM_KEY }}
script: |
cd $HOME/${{ github.repository_id }}
docker build -t ${{ github.repository }} .
docker rm -f ${{ github.repository_id }}
docker run -d -p 8080:5000 --name ${{ github.repository_id }} ${{ github.repository }}
배포하신 서버에 secrets.USERNAME으로 설정된 유저로 $HOME/ 밑에 숫자로된 디렉토리가 있을까요?
>>> 네 숫자로된 폴더 생성되었습니다.
해당 디렉토리 밑에 Dockerfile이 정상적으로 복사가 됐을까요?
>>> 배포파일을 서버로 복사 단계는 오류없이 성공했다고 뜨는데,
해당 폴더에 Dockerfile 이 없네요...
서버 구동에 필요한 모든 파일을 root 경로로 이동하고, workflows 에 simple-cicd.yml 파일만 다시 복붙한뒤 테스트 해보니까 정상적으로 배포까지 실행되었네요.
제 테스트 결과로는
루트 경로에 있는 파일들만 정상적으로 서버로 복사가 되었습니다.
경로 문제인지 왜 되는지는 정확히 모르겠습니다 ㅠㅠ
아.. 강의영상 다시 보니 yml 파일만 .github/workflows 폴더 내부에 있고... 나머지는 전부 루트 경로에 들어가는게 맞군요..
제가 경로를 잘못봤네요. (보다 졸았어요;;)
내부에다가 잘못만들어서 안된거네요;;
죄송합니다 ㅠㅠ
https://github.com/appleboy/scp-action/issues/59#issuecomment-964605479
위 이슈가 있긴한데 오래돼서 정확한지 모르겠네요.
제가 직접 테스트해보고 다시 말씀 드리겠습니다!
0
안녕하세요!
26err: ERROR: failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory
27err: Error response from daemon: No such container: 843371319
28err: Unable to find image 'cokeholic-kim/docker-cicd-test:latest' locally
질문 주신 내용의 위 부분을 봤을 때 simple-cicd 스크립트 파일의 아래 부분이 누락되어 있는게 아닌지 의심되네요.
정확히 어떤 셋팅을 하셨는지를 모르는 상황이라서 위 내용 올바르게 들어가 있는지 확인 부탁드리겠습니다.
위 내용 외에도 뭔가 스크립트나 도커파일 부분에서 제공해드린 것과 다른 내용이 있는걸로 보입니다. 가능하시다면 활용중이 yaml파일과 도커 파일 내용도 공유해주시면 감사하겠습니다.
안녕하세요.
두 가지 확인 요청드립니다.
배포하신 서버에 secrets.USERNAME으로 설정된 유저로 $HOME/ 밑에 숫자로된 디렉토리가 있을까요?
해당 디렉토리 밑에 Dockerfile이 정상적으로 복사가 됐을까요?
동일 오류라면 Dockerfile이 생성되지 않았거나 이상한 경로에 생성이 됐을 수 있을 것 같아 보입니다.
답변 주시면 가능한한 빨리 확인하고 회신 드리겠습니다!