Docker 사용법 2일 만에 Docker 습득편 (udemy 미국 AI 개발자가 처음부터 가르치는 Docker 강좌)

여름 도커 합숙 2일차

기계 학습의 환경 구축을 Docker로 실시 (Jupiter Lab)
장점
★환경 구축의 에러 회피
팀 개발 노력을 낮추다
자원의 유효 활용(기업 레벨?)

전제
Q 「패스」를 통과하는 것은?
환경 변수 $PATH에 경로를 추가하는 것.
컴퓨터가 프로그램을 해당 경로에서 가져오도록 합니다.
경로를 통과하는 Linux 명령

sudo
모든 명령은 루트 권한으로 실행할 수 있습니다.
1 $echo$PATH (今どこにパスが通っているのか確認)
2  $export PATH=/path/to/something:$PATH パスを追加する

연습 Anaconda를 컨테이너에 가져와 설치



절차
1 도커 run
2 sh Anaconda ~ (패키지 이름) .sh
3 export PATH ~
4 sh/path -b -p/path (설치시 번거로운 대화 형 상호 작용을 피하기 위해)

브라우저에서 local:host8888에 액세스(Jupyterlab에 액세스)
브라우저에서 컨테이너 속에서 Jupyterlab을 시작하고 호스트에 코드가 저장되는 형태로 컨테이너에서 코드를 작성합니다.
(마운트)
docker run -p 8888:8888 -v ~/Desktop/フォルダ名(Host側):/(コンテナ側) --name my-lab \ <docker image>
Dockerfile의 내용
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
sudo \
wget \
vim
WORKDIR /opt 
RUN wget https://repo.continuum.io/archive/Anaconda3-2020.02-Linux-x86_64.sh&& \
    sh Anaconda3-2020.02-Linux-x86_64.sh -b -p /opt/anaconda3 && \
    rm -f Anaconda3-2020.02-Linux-x86_64.sh

ENV PATH /opt/anaconda3/bin:$PATH

RUN pip install --upgrade pip
WORKDIR /
CMD ["jupyter","lab","--ip=0.0.0.0","--allow-root","--LabApp.token=''"]

중요한 것은, 위의 커맨드의 흐름을 기억하는 것이 아니라, (갑자기 슬러슬러 만드는 것은 무리!)
Dockerfile을 어떻게 바꾸는지에 대한 과정을 시행 착오하면서 익숙해지는 것

AWS에서 Docker 시작





EC2에 액세스할 때 사용 권한 쓰기(ssh로 연결)
chmod400<file>
ssh -i  <keyname> ubuntu@<インスタンスDNS>

※키가 있는 디렉토리로부터 액세스를 실시한다. (위치가 다르면 키를 찾을 수 없고 액세스할 수 없다)

SFTP(Secure File Transfer Protocol) 파일을 전송하기 위한 프로토콜(명령)
SSH(Secure Shell) 쉘을 이동하는 명령

AWS에서 Docker 컨테이너를 시작하는 방법
1 tar 파일로 압축하여 보냅니다 (EC2 서버의 보안이 어려울 때 등)
#docker image → tar ファイル  ... dockerimageを tar.fileに変換する
$docker save {image} > {tar.file}

#tarファイル→docker image  ...EC2コンテナに送り、コンテナ内でtar.file(image)を開く
docker load < {tar.file}

2 Dockerfile을 보내고 엽니다.

좋은 웹페이지 즐겨찾기