인턴 생활을 하며 도커 task를 맡게 되었다.
docker을 이렇게 혼자 전문적으로 해보는 거는 처음인데, 사실 진짜 해보고 싶어서 내가 하고 싶다고 했다.
퇴근하고 공부 열심히 해서 내일 잘 해봐야지.
어떤 서비스를 운영하기 위해서는 프로그램을 돌려야 한다. 나는 파이썬을 사용하고, 필요한 라이브러리를 모두 설치한 환경에서 이 프로그램을 실행하면 잘 돌아간다.
하지만, 다른 사용자가 내 코드를 클론 받아서 단순히 run
명령을 실행해도 프로그램이 돌아가지 않는 경우가 생긴다.
이것은 환경이 다르기 때문이다.
다른 사용자가 사용하는 운영체제, 파이썬 버전, 라이브러리 버전, 환경 변수 설정 등이 나와 다를 수 있기 때문에 동일한 프로그램이라도 실행되지 않는 경우가 생긴다. 이를 해결하기 위해 모든 환경을 통일할 필요가 있다.
도커(Docker)는 이러한 문제를 해결하기 위한 컨테이너 기반 가상화 기술이다. 도커는 애플리케이션과 그 애플리케이션이 실행되기 위해 필요한 모든 것을 하나로 묶어 "컨테이너"라는 형태로 패키징한다.
이 컨테이너에는 프로그램, 라이브러리, 환경 설정 등이 모두 포함되어 있어, 어떤 환경에서든 동일하게 실행할 수 있다. 이를 통해 "내 로컬에서는 잘 되는데..."와 같은 문제가 사라지게 된다.