이번에 팀의 세 번째 프로젝트에서 인프라 관련을 담당하게 되었다.
앞선 프로젝트에서는 Spring위주로 담당을 했기 때문에 배포와 관련해서는 아는 것이
없어 꼭 내가 하고 싶다고 했다.노베이스 상태로 시작해서 목표는 무중단 배포로 잡았다. (목표는 높게!)
이제 배포와 관련하여 공부해보겠다.
리눅스의 컨테이너 기술을 이용하여 가상화를 하지 않고, 프로세스만 격리해서 실행시키는 기술
VM을 만드는 기술 같다.
하지만 VM을 사용하면 OS를 통째로 설치하기 때문에 용량이 매우 크고 느리다고 한다.
docker는 프로세스를 격리만 할 뿐, OS를 띄우지는 않는다. 기존에 있는 시스템 자원을 공유할 뿐이다. 즉, VM의 효과는 내지만 VM은 아니라고 말할 수 있다.RealMachine과 Docker 이용과의 성능 차이는 99.8%로 일치하여 차이가 거의 없다.

✔️ 이미지
필요한 프로그램과 라이브러리, 소스를 설치한 뒤 파일로 만드는 것
✔️ 컨테이너
이미지를 실행한 상태, 이미지로 여러 개의 컨테이너를 만들 수 있다. 운영체제는 실행파일, 컨테이너는 프로세스라고 볼 수 있다.
AWS 프리티어 서버를 받아서 mobaXterm에서 연습하려 했으나, 카드를 두고와서 계정생성이 불가능했다. 그래서 일단 윈도우로 연습하고자 한다.
docker desktop을 다운받아 설치하면 끝이다.
❗ sudo 명령어는 리눅스 내장명령어이기 때문에 Window는 다른 방식으로
권한을 상승시킨다. 따라서 Window shell에서는 sudo를 쓰지 않는다.
$ sudo docker search <이미지이름>
search명령으로 Docker Hub에서 이미지를 검색할 수 있다.

$ sudo docker pull <이미지명>
pull명령으로 image를 다운받을 수 있다.
$ sudo docker images <이미지명>
images명령으로 다운 받은 image들을 볼 수 있다.


출처 : 생활코딩 docker