상황에 따라 도커 컨테이너 내부에서 도커를 실행해야 할 때가 있다.예를 들면 젠킨스 컨테이너 내부에서 도커 이미지를 빌드하고 싶은 때 도커를 실행해야 한다.도커 컨테이너 내부에서 도커를 실행하기 위한 방법으로는 2가지가 있다.도커 컨테이너 내부에 도커엔진을 설치하기 (Docker in Docker)도커 컨테이너 내부에서 호스트의 도커 데몬을 사용하기 (Docker out of Docker)1번 방법은 두 계층의 데몬이 서로 간섭하게 될 수 있고, 중복 자원할당 및 오버헤드가 발생하여 성능이 저하될 수 있어 추천되지 않는 방식이라고 한다.따라서 2번 방식을 구현하는 법을 설명하겠다.Docker out of Docker우리가 처음 도커를 설치할 때 sudo apt-get install docker-ce do..
도커(Docker)란 무엇일까요?도커(Docker)는 애플리케이션을 컨테이너라는 독립된 환경에 패키징하고 실행하여 개발, 배포 및 운영을 효율적으로 관리할 수 있도록 지원하는 플랫폼이며, 컨테이너 생성 및 관리 기술을 통칭하기도 합니다.컨테이너는 뭐죠?컨테이너(Container)는 애플리케이션 실행에 필요한 모든 것을(코드, 환경 설정, 종속성 등..) 패키징하여, 어떤 컴퓨팅 환경에서도 빠르고 신뢰성 있게 실행할 수 있도록 하는 소프트웨어의 표준 단위이자 애플리케이션 패키지라고 할 수 있습니다.그래서 왜 사용하는 건가요?컨테이너를 사용함으로써 얻는 이점은 다양하게 있으며 장점에 대해서는 후술하겠지만, 현 시점에서 우리에게 가장 와 닿는 장점은 어느 환경에서도 동일한 환경을 구축할 수 있다는 것이라고 생..
도커는 컨테이너를 생성하고 관리하는 기술이다.컨테이너란?컨테이너는 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 소프트웨어 패키지코드를 실행할 수 있게 코드와 런타임, 라이브러리등을 패키징한 것이다.이 때 같은 컨테이너는 누가, 어디에서 실행하든 항상 동일한 결과를 낸다.컨테이너 기술은 대부분 현대 운영체제에 빌트인이 되어있거나 쉽게 설정할 수 있다. 왜 컨테이너를 사용할까?동일한 결과 보장로컬 환경에서 코드를 작성해서 정상적인 실행을 확인했는데 다른 컴퓨터에서는 런타임 버전 등 의존성이 달라 실행이 안 되는 경우가 있다.만약 실행환경이 로컬 환경과 정확히 같았다면 벌어지지 않았을 상황이다.컨테이너를 사용하면 런타임과 라이브러리 등이 코드와 함께 들어있기 때문에 항상 동일한 결과를 보장할 수..