Post

도커교과서 도커의 기본적인 사용법

📦 컨테이너란 무엇인가?

각각의 운영체제를 따로 사용하는 가상머신(VM)과 달리, 컨테이너는 운영체제(cpu, 메모리 리소스)를 호스트 컴퓨터와 유동적으로 공유하는 가상의 애플리케이션 실행 환경을 말한다.

📦 컨테이너의 장점

컨테이너를 사용하면 호스트 컴퓨터와 운영체제를 공유하기 때문에 밀집[1]과 격리[2] 를 동시에 달성할 수 있고 매우 효율적이다.

[1] 밀집 : 컴퓨터에 CPU, 메모리가 허용하는 한 최대한 많은 수의 애플리케이션을 실행 하는 것

[2] 격리 : 서로 다른 애플리케이션을 동시에 실행할 때 특정 app 때문에 다른 앱이 꺼지는 상황을 방지 하기 위해 app 당 독립된 환경을 제공하는 것을 말한다.

🐳도커의 장점

1. 컨테이너를 사용하기 때문에 효율성을 갖춘다.

2. 배우기 쉽다.

도커를 사용하면 npm run ~ , python3 uvicorn ~ 등 여러 패키지매니저, 스크립트 언어를 배우지 않고도 도커만의 명령어로 바로 실행할 수 있어 매우 편리하고 효율적이다.

15년 전 닷넷, 10년전 자바, 오늘 GO로 만든 애플리케이션도 모두 똑같은 명령어로 관리할 수 있다.

** 도커 컨테이너 실행 명령어 **

1
$ docker container run --interactive --tty 이미지명

--interactive 컨테이너와 상호작용할 수 있게 접속
--tty 터미널 세션으로 조작하겠다는 뜻


1
$ docker container ls

실행중인 도커 컨테이너 리스트를 보여줘


1
$ docker container ls --all

실행 여부에 관계 없이 모든 도커 컨테이너 리스트를 보여줘


1
$ docker container top 

도커 컨테이너 에서 실행 중인 프로세스 목록을 표를 보여줘
(table of processes)


1
$ docker container logs

도커 컨테이너에서 나온 모든 로그를 출력해줘


1
$ docker container inspect

도커 컨테이너에 대한 상세한 정보를 줘


1
$ docker container run --detach --publish 8080:80 이미지명

도커야 백그라운드에서 동작하면서 네트워크를 주시(listen)해줘 –detach 백그라운드에서 실행해줘
–publish 컨테이너 포트를 호스트 컴퓨터에 공개해줘


🐳도커의 네트워크 주시

도커를 설치하면 호스트 컴퓨터의 네트워크 계층에 도커가 끼어든다.

그러면 호스트 컴퓨터에 들고 나는 네트워크 트래픽을 모두 도커가 가로채서 그 중 필요한 것을 컨테이너에 전달한다.

-- publish 혹은 -p 태그를 붙이면 호스트 컴퓨터의 해당 포트로 들어오는 트래픽을 도커가 호스트와 컨테이너 간에 중계하게 된다.

https://yubinshin.s3.ap-northeast-2.amazonaws.com/2023-10-01-learn-docker-in-a-month-of-lunches/01.png

이슈명링크
교보문고 도커 교과서https://www.yes24.com/Product/Goods/111408749
This post is licensed under CC BY 4.0 by the author.