[docker] 도커설치 방법

도커설치방법
Ubuntu, Centos, Mac, window 운영체제 별로 설치 법이 있으니 공식 문서를 참조
Install Docker Engine | Docker Documentatio

컨테이너에서 도커를 사용하고 싶을때
ubuntu 환경에서 도커를 설치한 환경을 구성해야 할때 로컬환경이 ubuntu가 아니라면 도커 컨테이너를 통해 환경을 구성할 수 있다.

  • 로컬 도커설치
    • ubuntu 컨테이너 실행
      • 컨테이너에 도커 설치

설치방법은 동일하지만 컨테이너를 실행할때 --privileged 옵션을 통해 권한을 획득한 privileged 모드로 실행 해야한다. 그렇지 않으면 service docker start 명령어를 사용해도 도커가 실행되지 않는다.

Dockerfile 작성
docker-ce 설치시 타임존 선택 옵션이 주어지는데 이미지를 빌드할때 옵션을 선택 할 수 없으므로 타임존을 미리 설정해야 한다.

FROM ubuntu:latest

ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update
RUN apt-get install -y \
        ca-certificates \
        curl \
        gnupg \
        lsb-release

RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
RUN echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

RUN apt-get update
RUN apt-get install -y docker-ce docker-ce-cli containerd.io

이미지 빌드

docker build . -t ubuntu:docker

컨테이너 생성

docker run -it --privileged ubuntu:docker

docker demon 실행

root@~:/# service docker status
 * Docker is not running
root@~:/# service docker start
 * Starting Docker: docker