프로그래밍/도커

Ubuntu Docker Image로 docker in docker 만들기

Hwan2 2023. 4. 1. 20:12
반응형

 

 

 

윈도우에서 리눅스 환경으로 개발을 하고싶거나 할 때 사용하면 유용할 것 같습니다.

 

윈도우에서 도커를 설치했다면 Dockerfile을 만들어 줍니다.

 

FROM ubuntu:latest

RUN apt-get update && \
    apt-get install -y apt-transport-https ca-certificates curl software-properties-common

RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

RUN add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"

RUN apt-get update && \
    apt-get install -y docker-ce

RUN /bin/bash -c 'echo -e "{\n \"iptables\": false\n}" > /etc/docker/daemon.json'

CMD ["bash"]

 

설치하는 패키지들은 다음 역할을 합니다.

  • apt-transport-https: HTTPS를 통해 저장소를 사용할 수 있게 해줍니다.
  • ca-certificates: SSL/TLS 인증서를 확인하는 데 필요한 인증서 번들을 제공합니다.
  • curl: URL을 사용하여 데이터를 전송하는 명령행 도구입니다.
  • software-properties-common: 쉽게 소프트웨어 소스를 추가할 수 있는 스크립트를 제공합니다.
  • RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - : 
    Docker의 공식 GPG 키를 다운로드하고, 시스템에 추가합니다. 이 키는 Docker 패키지를 인증하고, 신뢰할 수 있는 출처에서 가져온 것임을 확인하는 데 사용됩니다.
  • $(lsb_release -cs) :  현재 사용 중인 Ubuntu 버전의 코드네임을 출력하여 저장소 URL을 완성합니다.

 

 

그 후 docker build로 이미지를 만들고 run 명령어로 실행하면 끝!!

$ docker build -t ubuntu_in_docker .

$ docker run -it --privileged ubuntu_in_docker bash

 

  • privileged 모드로 실행되는 컨테이너는 호스트 시스템에서 실행되는 프로세스와 거의 동일한 권한을 갖게 됩니다.

 

 

이렇게 해주면 ubuntu에 들어가 집니다.

그 후 dockerd & 명령어로 도커를 실행하면 ubuntu 도커 안에서 도커를 사용할 수 있습니다.

 

 

반응형