개인공부

Docker란?

리승우 2022. 11. 28. 03:23

우선 Docker에 대해 다루기 전에, Doker를 왜 쓰는지 아래에 있는 사례를 들면 나중에 다시 봤을 때 이해하기 좋을 것 같다!

 

Docker를 왜 쓰는가?

운영하면서 만들어지는 눈송이 서버들(Snowflake Servers)

서버 운영을 오래 해 본 사람이라도, 처음 들어가는 서버에서는 마음 먹은 대로 문제를 해결하기가 어렵다.

이는 서버를 다루는 기술과는 별개로, 각 서버마다 운영 기록이 다르기 때문이다.

 

똑같은 일을 하는 두 서버가 있다 해도, A 서버는 한 달 전에 구성했고 B 서버는 이제 막 구성했다면, 운영체제부터 컴파일러, 설치된 패키지까지 완벽하게 같기는 쉽지않다.

 

그리고 이러한 차이점들이 장애를 일으킨다. 

A 서버는 잘 되는데 B 서버는 왜 죽었지?와 같은 일(혹은 그 반대)

 

이렇게 서로 모양이 다른 서버들이 존재하는 상황을 눈송이 서버Snowflakes Server이라고 부른다.

모든 눈송이의 모양이 다르듯, 서버들도 서로 다른 모습이라는 것이다!

 

이와 같은 상황을 타개하기 위해, Docker를 사용한다.

 

아직 공부중인지라 자세한 설명은 어렵지만 아주 짧게 아래에 설명하면 이러하다.

 

1. Docker는 이미지를 이용하여 환경설정에 필요한 것들을 모두 컨테이너에 담아둘 수 있다.

 

2. 해당 컨테이너를 내가 이용하는 서버에 적용하여, 필요한 환경설정을 다운로드 받게끔 할 수 있다.

 

3. 이 컨테이너는 모든 서버들에 적용가능하며, 이를 기반으로 새로운 서버를 생성하였을 때 부가적인 환경세팅을 일일이 하지않는다. 또한, 기존에 작성한 컨테이너를 적용함으로써 기존 서버와 동일한 환경을 간편하게 구축할 수 있다.

 

4. 컨테이너는 서로 독립적이며, 이 덕분에 한 서버는 각기 다른 수많은 컨테이너를 가질 수 있다.

 

위 덕분에 ,

우리는 매번 서비스를 만들 때마다 새로운 서버를 사고,

새롭게 환경을 설정하고 시작할 필요가 없어지는 것이다!

그냥 컨테이너를 생성하고 복제하면 되는 것이다!

 

 

[참고 URL]

https://www.youtube.com/watch?v=chnCcGCTyBg 

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

https://www.44bits.io/ko/post/why-should-i-use-docker-container

https://han-py.tistory.com/494

https://medium.com/@darkrasid/docker%EC%99%80-vm-d95d60e56fdd

 

 

[설치 시 참고 URL]

https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html

https://tecoble.techcourse.co.kr/post/2021-08-14-docker/