#13-2 [프로그래밍 기초] (05.19) - Docker

sookyoung.k·2023년 5월 20일
0

NEWDEAL TIL

목록 보기
22/49
post-thumbnail

Docker는 너무... 너무 급하게 하느라 설치, 정말 간단한 명령어밖에 사용을 못 해봤지만... 그래도 일단 올려본다... 아예 까먹는 것보단 낫자나~ 그냥 내가 따로 공부하는 수밖에 없겠다,,, 머쓱

🐋 Docker

가상 머신처럼 독립된 실행환경을 만들어 주는 것!

  • 실제 운영 체제를 설치하지 않았음에도 설치한 것처럼 유사한 효과를 낼 수 있기 때문에 설치 용량이 적고 속도가 빠르다.

  • Virtual Box -> 리소스를 공유
    Docker -> 리소스를 공유하지 않음 >> 용량을 적게 쓴다

* 참고 링크
컨테이너 및 도커 개념정리

🐬 Images와 Container

컨테이너야 이름부터가 무슨 역할을 할 것 같은지 직관적으로 와닿는데 Images는... 친구랑 '대체 이게 뭐야?' 하는 의문을 한가득 안고 수업을 듣고 있었다. 이미지...? 이미지를 왜 가져와? 우리가 생각하는 이미지는 'jpg', 'png'같은 걸 생각하고 있던 것 ㅋㅋㅋㅋ 그게 맞나 아닌가 아직도 잘 몰겠음...

* 참고 링크
Docker 개념과 명령어 사용 방법 및 예제

내가 설명하는 것보다... 훨씬 설명이 잘 되어있는 블로그 글을 캡쳐해왔다... 이미지가 그 이미지가 아닌 것임...

그래서 그냥 우리는 압축된 코드 정도로 이해하기로 했다.
컨테이너는 그걸 실행할 수 있게 담아주는 거?

* 참고 링크
도커 컨테이너(Container)와 이미지(Image)란 ?

Docker image = 파일
Docker container = 이미지를 실행시키는 기술

image → 어플리케이션 실행에 필요한 독립적인 환경을 포함하며, 런타임 환경을 위한 일종의 템플릿이다.

🐬 DOWNLOAD

https://www.docker.com/

특별히 설정할 것 없이 쭉 설치하면 된다.

🐳 docker container run diamol/ch02-hello-diamol

가장 먼저 실습해 본 명령어이다.

  • run: 컨테이너를 실행하겠다는 의미
  • diamol: 계정 이름
  • /(내용):/ 이후에 적은 내용은 계정 안에 있는 이미지를 뜻한다

처음에는 우리가 이미지를 가지고 있지 않기 때문에 'Unable to find 'diamol/ch02-hello-diamol:latest' locally' 라는 문구가 뜬다. 그러면 알아서 다운로드를 척척 받은 후 실행시킨다.

🐳 docker container run --name webserver -d -p 80:80 nginx

  • --name webserver: webserver라는 이름 할당 (당연히 바꿔도 됨)
  • -d: 'detach', 컨테이너를 백단에서 실행하게 한다 + container ID 출력
  • -p: 'port', 외부에서 접속할 때 쓰는 port 번호: 내부에서 사용하는 port 번호
    ➡️ host 80 → container 80
  • nginx: 이미지명 ➡️ 슬래시가 없음! 이것은 도커의 공식 라이브러리 문서로 간다

주소로 이동하면 다음과 같은 화면이 뜬다.

Docker에서도 확인할 수 있다.

docker container ps, docker container ps -a

  • ps: 현재 실행 중인 컨테이너를 알려준다.
  • -a: 'all', 전체를 알려준다.

docker image ls

  • ls: 이미지 이름이 나온다. 실행중인 컨테이너 목록을 조회할 수 있다.

docker container run --interactive --tty diamol/base

  • --interactive: 컨테이너에 접속된 상태 (active!)
  • --tty: 터미널 세션을 통해서 컨테이너를 조작한다는 의미
  • exit를 치면 나갈 수 있다.

내 마지막 도커 화면은 이건데... 뭔가 더 했던 것 같은데 정신없이 지나가서 제대로 적어둔 것이 없다... 눈물... 다음에 또 배우겠죠... 8ㅅ8... 계속 느끼는 건데… 여긴 뭘 새로운 걸 배우러 왔다간 피눈물을 흘릴 것임… 최소한 기본은 알고 있어야 알아들을 수 있음 ㅠ…

마지막으로 조원들과 그래서 도커를 왜 쓰는 걸까? 하는 의문을 잠시 품었었는데 모든 컴퓨터에서 동일한 작업을 할 수 있게 작업환경을 잘 불러올 수 있게 해주는 걸까... 그 정도로 대화 마무리하고 집 감 ㅎㅎ 강사님이 자신은 별로 사용하지 않지만 개발자들이 많이 사용한다고 한 이유가 그래서인 것 같다. 암튼 궁금해하면서 찾아본 링크도 덧붙이고 수업 정리는 마무리... 뭔가 너무 휘리릭 지나가서 정리도 휘뚜루 마뚜루 하게 되는 것 같군...

* 참고 링크
왜 굳이 도커(컨테이너)를 써야 하나요?

profile
영차영차 😎

1개의 댓글

comment-user-thumbnail
2023년 6월 9일

이야 열심히 했는데~

답글 달기