• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

주제와는 좀 벗어날 수도 있지만 export/import save/load 관련 질문 드립니다.

21.01.24 18:12 작성 조회수 241

-1

강의를 아직 끝까지 듣지는 않았는데 제목 목록만 봐서는 강의에서 안 다루어지는 것 같아서 이미지 생성 순서 강의에 질문 남깁니다. 

제가 지금 데이터+코드 로 딥러닝 개발환경을 도커 위에 구축하는 것을 해보려고 하는데요. 도커로 묶어서 컨테이너로 만드는 것 까지는 성공을 했어요. 

주피터 노트북 웹으로 연결해서 쓰고 싶어서 포트 연결까지 해주었는데요. 아래 명렁어로 컨테이너를 실행시켜주었습니다. 

docker run -it -p 8888:8888 -d -v $(pwd)/notebooks:/notebooks final_doc

-v $(pwd)/notebooks:/notebooks 

부분은 dockerfile 에서 COPY 를 넣어도 왜인지(제가 경로를 잘 못기입한건지) 파일 복사가 안되어서 부득이하게 저렇게 시작할때 명령어로 주게 되었네요. notebooks 안에는 모델과 데이터가 담겨 있습니다. 

그리고 나서  

docker export 이미지아이디 >doc_cow_classification.tar 

로 컨테이너를 tar 파일로 만들고

$ docker import doc_cow_classification.tar imported_img

를 이용해서 다시 이미지로 변환해 준 뒤 docker images로 이미지가 생성된 것을 확인하고 

 docker run -it -p 8888:8888 -d imported_img

를 했더니 

docker: Error response from daemon: No command specified.

와 같은 에러를 만났습니다. 

찾아보니 뭐,, 엔트리 포인트 커맨드를 직접 알려줘야 한다고 하더군요 (잘 이해는 안되었지만 기존에 tar 를 생성했던 컨테이너가 docker ps 로 정보 출력했을떄 CMD  가  /run_jupyter.sh  였어서 그것을 넣어 주었습니다. 

 docker run -it -p 8888:8888 -d imported_img:latest /run_jupyter.sh

명렁어를 실행시키니 오류는 나지 않지만 docker ps 를 해도 컨테이너가 만들어진 것이 없습니다..

1. 실행을 시켜도 아무 오류가 나지 않으면서 컨테이너가 만들어지지 않는 것은 무엇이 잘못 되었을까요? 정확한 답이 아니더라도 이러이러한것을 찾아보셔도좋을것 같아요 정도의 커멘트라도 정말 감사합니다 ㅠㅠ 

2. export 명렁어를 찾아보니 컨테이너와 이미지 모두를 tar화 할 수 있다고 하는데, 제가 컨테이너 실행 시킬 때 같이 명령어에 입력해 주었던 docker run -it -p 8888:8888 -d -v $(pwd)/notebooks:/notebooks final_doc 포트 연결 정보도 남아 있게 되나요? 아니면 컨테이너-tar- 이미지 로 바꾸서 다시 실행시키면 저 정보를 다시 입력해 주어야 하나요?

긴 질문 읽어주셔서 감사합니다.

ps. 좋은 강의 정말 감사드려요. 혼자 공부하고 있는데 구글링만 하면서  파편화 되어 있던 지식들을 이 강의를 통해 구조화 시킬 수 있었습니다. 강의 자료도 정말 좋고,, 일부러 에러 상황 먼저 만들어 주시고 해결 방법 알려주는 식의 진행도 정말 좋아요.. 떠먹여 주시는 강의 감사합니다. 

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!