[20220620_Docker (1: docker, container, image pull)]

YunTrollpark·2022년 6월 21일
0

Docker

목록 보기
1/5
post-thumbnail

Docker

1. Docker 왜 사용하나요?

웹 개발을 하기 위해서는 운영체제에 여러 소프트 웨어를 설치해야함
예를 들어, 웹 개발을 하기 위해서는 Web server나 database 등을 깔아서 나의 소프트웨어를 만들어가야 함 → 귀찮고 한번에 잘 되기 힘듬

• 만약에 MyApp, WEb server, Database를 각각 운영을 한다면 그 OS를 위한 컴퓨터가 한대씩 필요함
• 하지만 내 컴퓨터에 가상으로 컴퓨터를 만들고 그 위에 운영체제를 설치하고 거기에 Web server를 설치한다면?
→ 그러면 별도의 컴퓨터가 필요 ❌
(Vmware, Virtualbox가 그렇게 만들어 줌)
• 단점은 이렇게 하면 운영체제가 용량도 큰데, 그 위에 운영체제를 또 만들어서 느려짐

2. Container

• 그러면 한대의 컴퓨터 안에서 각각의 App을 각각 격리된 상태에서 실행시키면?
(Linux OS에 이렇게 실행 할 수 있게 내장되어 있음)

→ 이때 운영체제가 설치 된 컴퓨터를 주인이라는 의미에서 host, 그리고 host에서 실행되는 각각의 격리된 실행환경을 Container
• 각각의 Container에는 운영체제 전체가 설치 된 것이 아니라,APP을 실행하는데 필요한 library와 실행파일들만 포함
→ 이렇게 하면 이미 존재하는 운영체제를 공유해서 무엇인가를 따로 설치할 필요 ❌
→ 운영체제가 하나라서 속도도 느려지지 않음, 저장 장치의 용량도 아낄 수 있음

Container 기술을 이용해서 이런걸 쉽게 해주는 소프트웨어가 DOCKER
Docker는 부두에서 컨테이너를 다루는 노동자를 의미

3. docker install

• docker와 같은 container 기술은 Linux 운영체제 기반임
→ docker 위에서 돌아가는 container, 그리고 그 위에서 동작하는 각각의 App들은 리눅스 운영체제에서 돌아가는 App들임
→ 만약에 본인 컴퓨터가 linux 운영 체제가 아니라도 docker 사용 가능
(가상 machine을 설치하고, 그 가상 machine 위에 linux 운영체제를 설치하면 그 위에서 docker와 같은 container기술 사용가능 → 이마저도 docker가 알아서 가상 machine을 만들어서 그 위에 linux 만들어줌)

1️⃣ 홈페이지 접속: https://www.docker.com/ → 문서 페이지(Devleopers) → Dowunload and install

2️⃣ 본인 운영체제에 맞는거 선택해서 다운로드

3️⃣ 설치 후 docker dashboard 클릭

→ docker를 그래피컬한 환경에서 제어할 수 있도록 도와주는 환경
→ 하지만 명령어를 사용해서 제어하는 것이 docker의 full power를 발휘할 수있는 수단

4️⃣ 명령어로 docker사용 시 Terminal창 사용법

docker images입력하고 에러가 나지 않는다면 docker 성공적으로 실행한것!

만약 위 명령어 쳤는데 제대로 안나온다?
→ docker 회원가입하고 로그인 했는지 확인 하기!

4. image pull

• 만약 우리가 어떤 프로그램이 필요하다면 App store에서 찾음. 그것과 비슷하게 docker hub라고하는 레지스트리라 불리는 서비스에서 필요한 소프트웨어를 찾을 수 있음

• App store에서 다운로드 받아서 컴퓨터에 저장한것을 programm이라고 함 → 프로그램을 실행하는 것을 process

• docker hub에서 찾아낸 것을 사용자의 컴퓨터에 다운로드 받아서 가지고 있는 것을 image라고 함 → image를 실행하는 것이 container라고 함

• 프로그램이 여러개의 process를 가질 수 있는것 처럼, image도 여러개의 container를 가질 수 있음

• docker hub에서 image를 다운받는 행위를 pull, image를 실행시키는 행위를 run이라고 함

run을 하게 되면 image가 container가 됨 → 그리고 그 container가 실행 되면서 해당 container 안에 있는 실행 되도록 조치되어 있는 프로그램이 실행되면서 user가 해당 프로그램을 사용할 수 있게 됨

5. Docker에서 해당 image 다운받는 법

1) dockerhub로 들어와서 우측 상단의 Explore 클릭

2) 왼쪽 상단의 Containers 클릭

→ 인기있는 컨테이너가 있고, 왼쪽에 카테고리를 통해 원하는 소프트웨어가 설치된 container를 찾으면 됨

3) 아파치 웹서버가 설치 된 container를 찾을때는?
→ dockerhub에서 아파치 웹 서버는 httpd라는 이름을 가짐
httpd로 검색

❈ 여기서 Official Image는 docker에서 공식적으로 관리하는 믿을 수 있는 image라는 뜻

4) image pull 받기

→ 여기서는 docker pull httpd 라는 명령어를 통해서 해당 image를 다운 받을 수 있음
→ 하단에 httpd에 관한 사용 설명서가 기재 되어있음

5) 내 컴퓨터에 image 받기
1) docs.docker.com으로 이동

→ 그중에 Reference 클릭

→ 그리고 Command-line reference 클릭하고, Docker CLI(docker)클릭

docker pull클릭하면 형식이 나옴

NAME에 Image이름 적으면 사용가능

2) 명령어 입력

docker pull httpd //이렇게 terminal창에 입력하면 httpd를 레지스트리로부터 다운로드 받기 시작

3) 이미지 잘 다운받았는지 확인

docker images // 이렇게 입력했을때 httpd image가 나오면 잘 다운받은것

4) GUI에서 확인 하는 방법
(mac이나 window의 경우 docker desktop이 있을거임)
dash board 클릭하면 하단 화면이 나옴 여기서 Images를 클릭
→ 그러면 우리가 가지고 있는 image들을 보여줌
(httpd 설치된거 확인 가능)

출처: 생활코딩 유튜브

profile
코딩으로 세상에 이야기하는 개발자

0개의 댓글