inflearn logo
강의

講義

知識共有

システムエンジニアが教えるLinux実務編 – 生成型AIを活用した実務トラブルシューティング

0-2. 実習環境構築

민구님 설치시 또 막혀서 질문드려요

33

dahlia1027

投稿した質問数 5

0

image.png

어제 문의 드린거 답변해주신대로 설치하고 있는데 docker ps -a 해도 Exitid로 계속뜨고 로그를 봐도 파일이나 디렉토리가 없다는데,설치가 안된걸까요?

아래는 도커 데스크 탑 캡쳐화면입니다.

image.pngimage.png

계속 컨테이너(?) 실행시도시마다 이상한 이름붙은 컨테이너가 생성되는데 얘네들은 뭔지요?

어제부터 너무 기초적인것만 질문드리는거 같아 죄송합니다..

linux docker 인공지능(ai)

回答 2

0

bashbomb

안녕하세요! 반복 질문 전혀 신경 안 쓰셔도 됩니다 :)

원래 환경 설정이 가장 어려운 부분이거든요. 로그까지 잘 찾아보셨습니다.

두 증상(① 로그에 "no such file or directory" → Exited, ② 시도할 때마다 이상한 이름 컨테이너 생성)이 사실 같은 원인일 가능성이 높습니다. 결론부터 말씀드리면 docker run이 아니라, 리포 폴더 안에서 docker-compose로 실행해야 합니다.

이 실습 환경은 컨테이너가 뜰 때 SRC/ 폴더(SSH 키·nginx 설정 등)를 컨테이너 안 /labdata로 가져와서 초기화합니다. 그래서 반드시 vws-docker-environment 폴더 안에서 실행해야 이 파일들이 연결돼요. 폴더 밖에서 실행하거나 docker run으로 직접 띄우면 그 파일들을 못 찾아서 "no such file or directory"가 뜨고 컨테이너가 바로 꺼집니다. (이상한 이름 컨테이너도 docker run을 직접 쓰셨을 때 생기는 현상이라, 정상은 아니에요.)

아래 순서대로 한 번만 깔끔하게 다시 해보시겠어요?

# 0) (혹시 쌓인 이상한 컨테이너 싹 정리)

docker rm -f $(docker ps -aq)

# 1) 반드시 리포 폴더 안으로 이동

cd vws-docker-environment
ls            # docker-compose.yml 과 SRC 폴더가 보여야 정상!

# 2) (M1/M2/M3 Mac이면 이 줄 먼저)

export DOCKER_DEFAULT_PLATFORM=linux/amd64

# 3) 재빌드 + 실행 (docker run 말고 compose 사용!)

docker-compose down -v --remove-orphans
docker-compose build --no-cache
docker-compose up -d

# 4) 확인 — 이름이 cent1/cent2/cent3 로 떠야 정상입니다

docker ps -a

만약 2)에서 ls 했을 때 SRC 폴더가 안 보이면 클론이 덜 된 것이니, 폴더를 지우고 git clone https://github.com/bashbomb/vws-docker-environment.git 으로 다시 받아주세요.

그래도 Exited면 docker logs cent1, docker logs cent2, docker logs cent3 세 개 결과를 그대로 캡처해서 올려주시면 어디서 멈췄는지 정확히 짚어드릴게요.

화이팅입니다!

0

dahlia1027

아휴...한번에 안끝나네요..

알려주신 절차대로 완료했는데 아직도 Exited로 나와서 캡쳐 공유 드려요..

image.png

제미나이에 먼저 물어보고 문의드릴수 있지만 민구님께 빨리 답변 얻고 싶어서 또 문의 드립니다!

1

bashbomb


로그까지 깔끔하게 올려주셔서 원인 정확히 보입니다.


[FATAL tini (7)] exec /init.sh failed: No such file or directory

이건 /init.sh 파일이 없어서가 아니라, 그 파일의 줄바꿈이 윈도우 방식(CRLF)이라 생긴 문제로 보입니다.

윈도우 Git Bash에서 git clone 할 때 Git이 자동으로 줄바꿈을 CRLF로 바꿔버려서, 스크립트 첫 줄 #!/bin/bash 가 컨테이너 입장에선 #!/bin/bash\r 로 보입니다. 그러면 리눅스가 /bin/bash\r 라는 (존재하지 않는) 실행기를 찾다가 "No such file or directory" 를 내고 컨테이너가 바로 꺼져요(Exit 127).

docker-compose 로 cent1/cent2/cent3 가 정상적으로 뜨는 것까진 확인됐고(이름 문제는 해결되셨어요), 남은 건 이 줄바꿈 하나입니다.

아래 순서대로 한 번만 해주시겠어요? (Git Bash에서)


# 1) 그동안 쌓인 컨테이너 싹 정리

docker rm -f $(docker ps -aq)

# 2) init.sh 줄바꿈을 리눅스(LF)로 변환

sed -i 's/\r$//' SHELL/init.sh

# 3) 이미지 재빌드 후 실행

docker-compose build --no-cache
docker-compose up -d

# 4) 확인 — 이제 cent1/2/3 가 Up 상태로 떠야 정상입니다

docker ps

그리고 앞으로 다시 클론할 때 같은 문제가 안 생기게, 이 설정도 한 번 해두시면 좋아요.


git config --global core.autocrlf false

(이 설정을 먼저 한 뒤 폴더를 지우고 다시 git clone 하면 모든 파일이 리눅스 줄바꿈으로 받아져서 더 깔끔합니다.)

4번에서 cent1/2/3 가 Up 으로 뜨면 성공이에요. 혹시 그래도 꺼지면 docker logs cent1 결과를 그대로 올려주세요. 거의 다 오셨습니다, 화이팅!!

0

dahlia1027

믿고보는 민구님 강의!

아무것도 아닌 설치준비과정에서의 생긴 문제들도 너무나 자세히, 알기 편하게 설명해 주셔서 해결하였습니다.

불철주야 본업도 하며 강의 댓글도 신경써주셔서 너무 감사드려요

이제 강의 달려보도록 하겠습니다-!

image.png


0

bashbomb

잘 해결돼서 다행이네요.

그리고 큰 믿음을 주셔서 고맙습니다!!!!!!

언제든지 질문 남겨주세요! ; -)

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

dahlia1027님, Docker 컨테이너의 실행 문제로 몇 가지 점검해보아야 할 사항들이 있습니다. 현재 겪고 계신 문제는 주로 init.sh 파일의 경로 설정 문제나 Docker 이미지 빌드 과정에서의 오류로 발생하는 것 같습니다.

해결 방법 안내

  1. Dockerfile의 COPY 명령어 경로 확인:

    • Dockerfile에서 init.sh 파일을 컨테이너로 복사하는 COPY 명령어가 올바른지 확인해 보세요. 예를 들어, COPY ./SHELL/init.sh /init.sh 형태로 설정되어 있어야 합니다.
  2. init.sh 파일의 존재 및 권한 확인:

    • 해당 경로에 init.sh 파일이 진짜로 존재하는지, 그리고 실행 권한이 있는지 확인하세요. 터미널에서 다음과 같이 출력 확인이 가능합니다:
      
      ls -l ./SHELL/init.sh
      

  3. 실행 권한 부여:

    • 만약 실행 권한이 없다면, chmod 명령어로 권한을 부여해 주세요:
      
      chmod +x ./SHELL/init.sh
      

  4. Docker 이미지 다시 빌드:

    • 위의 사항들 수정 후, 이미지를 다시 빌드하여 시도해 보세요. 다음 명령어를 사용합니다:
      
      docker-compose build --no-cache
      

  5. 컨테이너 제거 후 다시 시작:

    • 현재 존재하는 모든 컨테이너를 종료하고 재시작 해보세요:
      
      docker-compose down -v --remove-orphans
      docker-compose up -d
      

기본 컨테이너 명명 규칙

  • Docker는 컨테이너가 생성될 때 임의의 이름을 자동으로 부여합니다. 이 이름은 컨테이너를 쉽게 식별할 수 있도록 하기 위함이며, 특별한 문제가 있지 않은 한 걱정하지 않으셔도 됩니다.

아래에는 관련된 유사한 문제와 해결 방법에 대해 더 알아볼 수 있는 질문 링크들이 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

데이터베이스 만들기에서

0

4

0

github 세팅 자체를 github desktop을 사용해도 되나요?

0

6

0

8강 디버깅 하네스는 verification 하네스와 비슷하게 느껴지는데 결정적인 차이가있을까요?

0

4

0

3강 context harness에서 제시하주신 개념들에 대해 소개된 공식문서나 자료가 있을까요?

0

6

0

슬슬 따라하기가 힘들어진다.

0

20

1

섹션5 강의자료 다운로드

0

15

2

헤르메스와 코덱스 연결 관련

0

10

0

퀴즈가 cowork와 맞지 않아요.

0

9

0

[문의] 섹션 7 미션 진행 중...

0

16

1

기본 브랜치의 이름이 master에요.

0

20

1

관리자 페이지 질문

0

14

1

plans 생성이 안됩니다.

0

20

2

mia /goal 실습시.. 아웃풋 폴더

0

16

1

mia /goal 실습시 키체인 오류(맥미니)

0

15

1

메일자동 분류 문의 드립니다.

0

16

2

수업자료 문의

0

18

2

더빙에 어떤 ai가 쓰였는지 궁금합니다.

0

22

1

보안 적용에 대한 강의가 있을까요?

0

12

1

퀴즈가 강의 주제와 맞지 않아요.

0

14

0

Claude skill 과 agent, plugin 관련 질문 드려요.

0

35

3

Auto-memory 기능

0

17

1

64강 context 7 관련 질문

0

17

1

git clone 명령어를 어디 터미널에다 붙여넣어야 하나요?

0

35

2

html 파일을 못 불러 옵니다.

0

34

2