일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 알고리즘
- tensorflow
- Natural Language Processing with PyTorch
- machine learning
- 파이토치
- Softmax
- BAEKJOON
- AI
- Python
- 백준
- 정렬
- Hypothesis
- 딥러닝
- 스택
- 파이썬
- rnn
- DP
- loss
- 강의자료
- Cross entropy
- classifier
- DynamicProgramming
- 머신러닝 기초
- MSE
- Deep learning
- 머신러닝
- 강의정리
- 자연어처리
- 홍콩과기대김성훈교수
- pytorch
- Today
- Total
개발자의시작
도커[Docker] Instruction 본문
도커(docker)란?
"저 사람 컴퓨터에서는 되는데, 내 컴퓨터에서는 안돼!"와 같은 상황을 방지할 수 있다. 도커(docker)는 모두에게 동일한 환경에서 사용할 수 있도록 도와주는 것.
도커(docker)는 컨테이너(container) 기반의 가상화 시스템이다. 우선 가상화(virtualization)는 실제는 없지만 있는 것처럼 보여주는 것이다. 예를 들어 VirtualBox를 사용해서 윈도우즈 안에 윈도우를 띄운다거나, Mac OS에서 Parallels를 사용해서 윈도우즈를 띄우는 것 등을 가상화의 한 가지인 가상 머신이라 부른다. 이해를 돕기 위한 방법으로 집 하나를 여러 개의 방으로 쪼개서 사용하는 것과 같은 원리이다.
가상화를 통해 하나의 서버를 여러개의 가상 서버로 쪼개서 사용자에게 제공할 수 있으며, 사용자 입장에서도 하나의 큰 서버를 구매할 필요 없이 더 저렴한 가격으로 독립된 운영체제를 사용할 수 있다. 하지만, 하나의 컴퓨터에서 독립된 운영체제를 여러 개 돌리는 가상화는 문제가 있다. 컴퓨터 한 대에서 운영체제 여러 개를 한꺼번에 돌리다 보니 서로 치여서 느릴 수밖에 없다. 그래서 리눅스가 머리를 썼다. 서버로 많이 쓰는 운영체제들인 우분투나 레드햇이나 모두 똑같은 리눅스 커널이라는 알맹이를 사용하는데 이걸 하나로 퉁칠 수는 없을까? 그래서 여러 가지 유구한 역사를 거쳐 완성된 오픈소스 기술이 바로 도커이다.
도커를 쓰면 굳이 독립된 운영체제를 여러개 띄울 필요가 없다. 하나의 운영체제 위에다가 도커만 설치하면, 어느 컴퓨터에서든 똑같이 돌아가는 가상 환경을 여러 개 띄울 수 있다.
이렇게 알맹이는 통일하고 그 위에 나머지 필요한 부분만 묶어서 가볍게 가상화한 것이 바로 컨테이너이다. 소프트웨어를 설치하고 설정하고 그러다 왠지 설정이 꼬여서 처음부터 다 밀고 다시 시작하고 이럴 필요 없이, 깨끗한 컴퓨터에 도커만 새로 설치하면 도커 이미지만 다운받고 이 이미지로 3초 만에 새 컨테이너를 뽑아서 바로 프로그램을 실행시킬 수 있다. 컨테이너에서 실습하다가 뭔가 잘못 건드렸다. 당황할 필요 없이 쿨하게 컨테이너를 날리고 다시 원래 도커 이미지로 새 컨테이너를 만들면 된다. but, 윈도우즈랑 Mac OS를 사용하는 경우 도커를 똑같이 사용할 수 있지만, 도커는 원래 리눅스 서버를 생각하고 만든 것이기 때문에(윈도우즈랑 Mac OS는 운영체제 커널 알맹이가 다르다.) 별도의 가상머신이나 하이퍼바이져를 사용해야하고, 리눅스 만큼의 성능은 나오지 않을 수 있고 gpu를 사용할 수 없다는 단점이 있다.
Docker Toolbox 설치 및 사용법
우선 구글에서 docker toolbox를 검색한다.
https://docs.docker.com/toolbox/
위의 홈페이지에 들어가서 사용자 OS에 맞는 docker를 설치한다.
- 이 글은 모두를 위한 딥러닝 시즌2를 정리한 글입니다.
출처 : https://deeplearningzerotoall.github.io/season2/lec_pytorch.html
'머신러닝(machine learning)' 카테고리의 다른 글
[Pytorch] 01-2 Tensor Manipulation 2 (0) | 2021.11.26 |
---|---|
[Pytorch] 01-1 Tensor Manipulation 1 (0) | 2021.11.26 |
[머신러닝][딥러닝] Linear Regression의 cost 최소화 minimize cost 3.0 (0) | 2020.04.23 |
[머신러닝][딥러닝] TensorFlow로 간단한 linear regression 구현 2.1 (0) | 2020.04.08 |
[머신러닝][딥러닝] Linear Regression(선형 회귀)의 Hypothesis 와 cost 2.0 (0) | 2020.04.08 |