Docker

컴퓨터너드·2023년 9월 5일

개발개념공부

목록 보기
5/7

사실 도커에 대해선 여러번 공부를 했었는데 알아듣지 못함으로써,, 실패를 계속 했다.
다시 한번 도전해보자.

Docker?

: Go 언어로써, 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼이다.

가상화란?

서버 관리자 입장에서 CPU 사용률이 현저히 낮은 서버들을 그대로 두면 리소스 낭비, 돈 낭비이다. 모든 서비스들을 한 서버 안에 올리면 안정성이 바닥을 칠것이다.
그리하여 안정성을 높이고 리소스도 최대한 활용할 수 있는 방법으로 등장한 것이 서버의 가상화

컨테이너란?

컨테이너는 가상화 기술 중 하나로, 기존 OS 를 가상화 시키던 것과 달리 OS 개발의 가상화로 프로세스를 격리시켜 동작하는 방식으로써 기존 OS 를 가상화하는 것과 프로세스를 격리시켜 동작하는것은 차이가 있다.

기존에 사용하던 VM 같은 경우 가상 머신마다 운영채제가 있고, 그 위에 애플리케이션이 있다. 반면, 컨테이너 구조는 호스트 운영체제 위에 컨테이너가 있고 그 위에 애플리케이션이 존재한다. 구조가 간단해짐으로써, 컨테이너 구조가 성능을 높인다.

그래서 도커가 하는건 뭐야?

컨테이너를 사용할때 도커를 사용하면 간단한 명령으로 컨테이너 이미지 를 만들고 저장할 수 있다. 도커를 설치한 호스트에 컨테이너 이미지 를 다운로드해서 컨테이너를 실행 시킬 수 있다.

컨테이너 이미지?

컨테이너를 실행 시킬 수 있는 실행파일, 설정값 등을 가지고 있는 것으로, 이미지는 상태값을 가지지 않고 변하지 않는다. 아래 그림과 같이 이미지를 컨테이너에 담고 실행시킨다면, 해당 프로세스들이 동작할 것이다.

그래서 어떻게 사용하는데?

도커에서는 도커이미지를 통해 컨테이너를 생성할 수 있다. 도커 이미지를 사용해 이미지에 설정해둔 대로 컨테이너의 구성환경을 적용할 수 있다.

이미지 목록 보기

$ sudo docker images

이미지 검색

$ sudo docker search [이미지 이름]

이미지 받기

$ sudo docker pull [이미지 이름]:[버전]

이미지 삭제

$ sudo docker rmi [이미지 id]

컨테이너 목록 보기

$ sudo docker ps

컨테이너 실행

$ sudo docker run [options] image[:TAG|@DIGEST] [COMMAND] [ARG...]

컨테이너 시작/재시작

$ sudo docker start [컨테이너 id 또는 name]
$ sudo docker restart [컨테이너 id 또는 name]

컨테이너 접속

$ sudo docker attach [컨테이너 id 또는 name]

컨테이너 정지

$ sudo docker stop [컨테이너 id 또는 name]

컨테이너 삭제

$ sudo docker rm [컨테이너 id 또는 name]
profile
미국에서 개발하고 있는 외노자

0개의 댓글