Mac OS에 Docker를 활용하여 Ubuntu 20.04 설치하기

성연·2024년 2월 13일
0

Docker

목록 보기
1/8

Mac OS에 Docker를 활용하여 우분투 20.04를 설치하는 방법에 대해 정리해보고자 한다.

도커(Docker)란?

  • 오픈소스 컨테이너화 플랫폼, 컨테이너를 다루는 도구(: 컨테이너 런타임, 컨테이너 엔진) 중 가장 유명한 것
  • 컨테이너(Container)
    • 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행될 수 있도록 코드와 모든 종속성을 패키징하는 소프트웨어 단위이다.
  • 컨테이너화
    • OS 레벨에서 애플리케이션 실행 환경을 격리하여 다른 OS에서 동작하는 것과 같은 가장 실행 환경을 제공하는 기술이다.

Mac OS에 Docker를 활용하여 Ubuntu 20.04 설치하기

1. Homebrew로 Mac용 도커 설치하기

  • homebrew 업데이트하기
    $ brew update
  • homebrew에서 docker 검색하기

    $ brew search docker

    • Formulae(수식): 커맨드 프로그램을 설치할 때 사용
    • Cask: Homebrew의 확장, 그래픽 애플리케이션을 설치할 때 사용
  • docker 설치하기

    $ brew install --cask docker

1-1. 공식홈페이지의 dmg 파일로 설치하기

https://docs.docker.com/desktop/install/mac-install/


2. 도커 이미지 다운로드하기

도커 이미지(Docker Image)는 컨테이너(Container)를 만드는 데 사용되는 이다.
⇒ 도커 컨테이너는 도커 이미지가 인스턴스화된 것!

# ubuntu 이미지의 20.04 태그
$ docker run ubuntu:20.04

  • digest: 도커 이미지의 해시값

2-1. docker run 커맨드(Commands)

Create and run a new container from an image

컨테이너를 실행할 때 사용하는 커맨드이다.

  • 기본 포맷
    $ docker run [OPTIONS] 이미지식별자
  • 옵션 종류
    • -d, --detach
      • detached(떨어져있는 → Background 모드)
      • 컨테이너를 백그라운드로 실행시킬 때 사용한다.
      • 실행 결과로 컨테이너 ID만 출력한다.
    • -i, --interactive
      • Keep STDIN(: 표준입력장치) open even if not attached
      • 사용자가 입출력할 수 있는 상태
    • -t, --tty
      • Allocate a pseudo-TTY(teletypewriter: 콘솔/터미널)
        • 콘솔: 시스템을 조작할 수 있는 물리적 장치
        • 컨테이너에 터미널 드라이버를 추가하여 컨테이너를 터미널을 이용하여 연결할 수 있도록 한다.
    • --name
      • 컨테이너에 이름을 부여할 때 사용한다.
    • -p, --publish
      • Publish a container’s port(s) to the host
      • 호스트(Mac)와 컨테이너 간의 포트 배포 및 바인드(bind)를 위해 사용한다.

3. 도커 컨테이너 생성하기

# docker run: ubuntu:20.04 도커 이미지에 새로운 도커 컨테이너를 생성할게
# --name: 컨테이너이름은 ubuntu_20_04 로 만들게
# -dt: 컨테이너는 백그라운드에서 실행시킬거고(-d), 터미널을 사용할 수 있게 해줘(-t)
$ docker run --name ubuntu_20_04 -dt ubuntu:20.04

3-1. 실행중인 도커 컨테이너 목록 확인하기

$ docker ps


4. 생성한 도커 컨테이너로 진입하기

# docker exec: ubuntu_20_04 도커 컨테이너로 진입할게
# -it: 터미널을 통해 입출력이 가능하게 해줘
# /bin/bash: bash 쉘(shell)을 사용할거야
$ docker exec -it ubuntu_20_04 /bin/bash

4-1. Shell

  • 운영체제 속 내용물(파일 등)에 접근할 수 있는 기능을 제공하는 프로그램
  • CLI(Command Line Interface), GUI(Graphical User Interface)로 구분할 수 있다.
    • bash shell: CLI

5. (기존의 도커 컨테이너가 종료된 상태일 경우) 도커 컨테이너 재실행시키기

# docker container restart 컨테이너ID(또는 컨테이너이름)
$ docker container restart ubuntu_20_04



+ 도커 이미지 관련 명령어

  1. 도커 이미지 목록 확인하기

    $ docker images
    또는
    $ docker image ls
  2. 도커 이미지 삭제하기

    $ docker rmi 이미지ID(또는 이미지이름)
    • 이미지를 사용해 생성된 컨테이너가 있을 경우, 이미지 삭제가 불가능하다.
    • 이 때, —-force 옵션을 사용하면 강제로 삭제할 수 있다.(컨테이너 종료 필수)
  3. 도커 이미지 태깅하기

    $ docker tag 기존이미지명:기존태그 지정할이미지명:지정할태그
    또는
    $ docker image tag 기존이미지명:기존태그 지정할이미지명:지정할태그
    • 버전 관리 시 태그 사용

+ 도커 컨테이너 관련 명령어

  1. 도커 컨테이너 목록 확인하기

    # 현재 실행중인 도커 컨테이너만 확인하기
    $ docker ps
    
    # 전체 도커 컨테이너 목록 확인하기
    $ docker container ls -a
    또는
    $ docker ps -a
  2. 도커 컨테이너 종료하기

    $ docker stop 컨테이너ID(또는 컨테이너이름)
  3. 도커 컨테이너 삭제하기

    $ docker rm 컨테이너ID(또는 컨테이너이름)

0개의 댓글