일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- flask
- docker
- 중급파이썬
- react
- SAA
- EC2
- Class
- node
- TypeScript
- wetube
- pandas
- SSA
- S3
- 채팅
- RDS
- Vue
- merge
- MongoDB
- 파이썬
- NeXT
- Props
- async
- git
- 튜플
- AWS
- socket io
- 카톡
- crud
- lambda
- dict
- Today
- Total
초보 개발자
docker란? docker설치 본문
docker란 무엇이고 왜 사용할까!?🐳
내 컴퓨터에서 어떤 앱을 만들기 위해서, 운영체제에 여러 소프트웨어를 설치해야 한다.
예를들어 웹개발을 한다면 한 컴퓨터 내에 웹서버나 데이터베이스 등을 깔아야 한다.
그런데 해봐서 알겠지만 설치하는 것이 까다롭고, 그 과정 속에서 오류도 많이 일어난다.
그럼 이런 생각도 해볼 수 있다.
각 기능을 담당하는 컴퓨터를 하나씩 구해서 거기에 적당한 운영체제를 깔고 그 위에 웹서버, DB를 설치한 다음 네트워크로 통신하여 사용한다면 훨씬 좋아질 것이지만, 비용적인 측면에서 너무 비효율 적이다.
그럼 또 이렇게도 생각해볼 수 있을 것이다.
하나의 컴퓨터에 가상으로 컴퓨터를 만들고, 그 위에 운영체제를 설치한 후에 거기에 웹서버, db 등 설치하여 사용할 수 있다면 어떨까? 이렇게 되면 별도로 컴퓨터를 구하지 않아도 한 컴퓨터 내에서도 위와 같은 기능을 수행할 수 있을 것이다. Vmware, Virtualbox가 이와같은 개념이다.
단지 웹서버, DB를 돌리기 위해서 용량이 큰 운영체제를 설치한다면 이 또한 비효율적일 것이다. 또 운영체제 위에 운영체제가 존재하다 보니 컴퓨터는 느려질 것이다.
그럼 이렇게 하면 어떨까!?
한대의 컴퓨터 안에서 각각의 앱을 격리된 환경에서 실행시킨다. 이 때 운영체제가 설치된 컴퓨터를 주인이라는 뜻에서 host라고 하고, host에서 실행되는 격리된 각각의 실행환경을 container라고 하자.
각각의 컴퓨터에는 운영체제 전체가 설치되어 있는 것이 아니고, 각 기능을 실행하는데 필요한 라이브러리와 실행파일만 가지고 있다. 이미 존재하는 운영체제를 공유하니, 무엇인가를 설치할 필요도 없고, 운영체제가 하나니까 속도도 느려지지 않는다.
리눅스에는 이런 앱 실행방법이 내장되어 있다. 이러한 기술을 컨테이너라고 부른다.
컨테이너 기술을 이용해서 이런 일을 쉽게 해주는 소프트웨어들이 여러개 있는데 그 중 제일 잘 나가는 것이 docker이다.
도커와 같은 container기술은 리눅스 체제의 기술이다.
따라서 아래와 같은 사실을 알 수 있다.
1. 도커 위에서 돌아가는 컨테이너, 컨테이너 안에서 돌아가는 앱들은 리눅스 운영체제에서 동작하는 앱들이다.
2. 자신의 컴퓨터가 리눅스 운영체제가 아니라면 도커를 쓸 수 없는걸까?
-> 윈도우 혹은 맥os일 경우엔 컴퓨터에 가상머신을 깔고 그 가상머신에 리눅스os를 설치하면 리눅스 운영체제 위에서 도커와 같은 컨테이너 기술을 사용할 수 있게 된다.
근데 이렇게하면 굉장히 복잡할 것 같지 않나??
그런데 걱정할 필요가 없다!!! 바로 DOCKER🐳가 알아서 가상머신을 만들어 주고 그 위에 리눅스를 설치해준다.
docker 설치🔧🔨
도커를 설치해보자 !
Get Docker | Docker Documentation
Get Docker
docs.docker.com
여기에서 자신의 운영체제에 맞는 걸 설치해주자.
터미널에 docker images를 적고 오류가 안나면 잘 설치가 된 것이라고 하는데
나는 아래와 같은 오류가 났다. 스택오버플로우에 사진으로 친절히 설명이 되어있어 해결할 수 있었다.!!
The command 'docker' could not be found in this WSL 2 distro.
windows subsystem for linux - Ubuntu WSL with docker could not be found - Stack Overflow
Ubuntu WSL with docker could not be found
The command $ docker could not be found in this WSL 1 distro. We recommend to convert this distro to WSL 2 and activate the WSL integration in Docker Desktop settings. See https://docs.docker.com/d...
stackoverflow.com
이 글은 생활코딩의 설명을 글로 옮겨적었다.
생활코딩 Docker 입문수업 - 2. 설치 - YouTube
'AI 웹개발 트랙 - 내배캠 > 9주차 ~' 카테고리의 다른 글
docker network (0) | 2022.03.07 |
---|---|
docker hub, pull, run (0) | 2022.03.07 |
동기 비동기에 대한 고찰.... (0) | 2022.03.04 |
팀과제 그림제작 페이지 (1) | 2022.03.03 |
async await (0) | 2022.02.28 |