61강 Dockerfile error
589
2 asked
안녕하세요 61강을 듣고 따라하던중 오류가 있어서 문의드립니다.
Docker image를 만들때
FROM python:3.11.6
WORKDIR /home/
RUN echo "testing1234"
RUN git clone https://github.com/akfldk1028/pragmatic.git
WORKDIR /home/pragmatic/
RUN pip install -r requirements.txt
RUN pip install gunicorn
RUN pip install mysqlclient
RUN echo "SECRET_KEY=django-insecure-s0ypvv7i_g2n6&sax1tgnv7egn_r=4!%j3xmynfv$=hj5b8(ws" > .env
EXPOSE 8000
CMD ["bash", "-c", "python manage.py collectstatic --noinput --settings=pragmatic.settings.deploy && python manage.py migrate --settings=pragmatic.settings.deploy && gunicorn pragmatic.wsgi --env DJANGO_SETTINGS_MODULE=pragmatic.settings.deploy --bind 0.0.0.0:8000"]
위의 코드와 같이 그대로 따라 했는데 이전에는 구동이 됬었는데
RUN echo "testing1234"
```이거를 위에 붙이니까 다음과 같이 오류가 뜨더군요..
fatal: could not read Username for 'https://github.com': No such device or address The command '/bin/sh -c git clone https://github.com/akfldk1028/pragmatic.git' returned a non-zero code: 128
오류가 이렇게 떠서 이리저리 어려움을 겪다가
나중에 github 저장소를 private 에서 public으로 바꾸어주니까 다시 진행되긴 했는데 의문점이 남아 질문드립니다.
혹시 나중에 프로젝트를 private로 바꾸고 진행하려면 Docker file에 GitHub 액세스토큰을 추가해야하는 건가요? 아니면 DockerContainer 내에서 SSH키를 사용해야하는건가요?
Answer 1
0
안녕하세요 김동현 님, 인프런 AI 인턴이에요.
Dockerfile 내에서 private GitHub 저장소에 접근하기 위해서는 인증 정보가 필요합니다. 이를 위해 Dockerfile에는 GitHub 액세스 토큰을 추가하거나 Docker 컨테이너 내에서 SSH 키를 사용하는 방법이 있습니다.
GitHub 액세스 토큰 사용 방법:
- GitHub에서 액세스 토큰을 생성합니다.
- Dockerfile에 다음과 같이 추가합니다:
”`
FROM python:3.11.6
# GitHub 액세스 토큰 환경 변수 설정
ARG GITHUB_TOKEN
ENV GITHUB_TOKEN=$GITHUB_TOKENWORKDIR /home/
RUN echo “testing1234”
RUN git clone https://github.com/akfldk1028/pragmatic.git# … 이하 생략 …
- Docker 빌드 시, "--build-arg" 옵션을 사용하여 액세스 토큰 값을 전달합니다:docker build –build-arg GITHUB_TOKEN=<액세스 토큰 값> -t myimage .
“`- GitHub에서 액세스 토큰을 생성합니다.
Docker Container 내에서 SSH 키 사용 방법:
- Docker 컨테이너 내에 SSH 키를 마운트하고, 해당 키를 사용하여 GitHub에 인증합니다.
- Dockerfile에 다음과 같이 추가합니다:
”`
FROM python:3.11.6
WORKDIR /home/
RUN echo “testing1234”
COPY id_rsa /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
RUN git clone git@github.com:akfldk1028/pragmatic.git# … 이하 생략 …
- Docker 컨테이너 실행 시, "-v" 옵션을 사용하여 로컬에 있는 SSH 키를 컨테이너에 마운트합니다:docker run -v <로컬 SSH 키 경로>:/root/.ssh/id_rsa -t myimage
“`- Docker 컨테이너 내에 SSH 키를 마운트하고, 해당 키를 사용하여 GitHub에 인증합니다.
GitHub 액세스 토큰 방법과 SSH 키 사용 방법 중 선택하여 사용하시면 됩니다. 감사합니다!
강의에 나왔던 js 파일이 깃허브에 없습니다
1
64
1
모바일 디버깅, 반응형 레이아웃 4분48초 질문
0
43
1
decorator 관련질문입니다.
0
49
1
PasswordChangeView
0
92
2
로그아웃뷰 작동 관련 (2025년 3월)
1
129
1
실행에러질문
0
146
1
@login_required 데코레이터 사용시 리다이렉트는 어디서 참조하여 설정을 하는걸까요?
0
109
1
CacheBackend 관련 에러
0
169
1
21강 CreateView를 통한 회원가입 구현 질문
0
318
1
53강 disallowedhost
0
330
2
502 Bad Gateway
0
467
1
mariadb 접근권한 오류
0
532
2
logout 후 빈 화면으로 이동합니다 ㅠㅠ
0
450
2
로그아웃 후 빈 화면으로 이동
0
324
1
서버 운영 관련 질문 드립니다.(Unable to retirve...)
0
227
1
static/base.css파일을 인식을 못합니다
0
373
1
안녕하세요 19강 디버깅 설정 질문있습니다.
0
287
1
프로필 update편 질문있습니다.
0
371
1
수업질문
0
387
1
COOP error
0
523
1
static안에 base.css 에서 정의한 클래스가 적용되지 않습니다.
0
481
1
static 파일 중 jpg 파일만 로드 불가
0
408
1
58강 static 파일 적용 안됨
0
538
1
49강 ngnix Deploy the container 500 error
0
383
1

