콘텐츠로 이동

Docker(Podman) 설치방법

author: Onejay
createdAt: 2024-09-08
updatedAt: 2024-09-08

Terminal window
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • Hello world
Terminal window
$ sudo docker run hello-world
...
Hello from Docker!
...
Terminal window
$ sudo apt remove docker docker-engine docker.io containerd runc

Podman: Redhat 에서 개발한 Container Tool

Docker Desktop 이 유료화가 되었을 뿐 Docker 자체가 유료화가 되었다는 뜻은 아니다
DockerEngine Community Edition(CE) 과 Docker CLI 는 무료이기에 CLI 환경에서 사용한다면 무료로 사용 가능하다.
  • podman-docker: podman 명령어를 docker 로 사용 할 수 있는 패키지
Terminal window
$ sudo apt update
$ sudo apt install -y podman
# optional
$ sudo apt install podman-docker
  • docker 의 명령어를 그대로 사용할수 있다.
    • Podman

      Terminal window
      $ podman ps
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    • Docker

      Terminal window
      $ docker ps
      Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
      • docker 명령어를 쓰는 경우 Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. 란 메시지가 나온다. 아래의 명령어로 파일을 생성해서 해결한다.

        Terminal window
        $ sudo touch /etc/containers/nodocker
        $ docker ps
        CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  • Dockerfile 을 작성해서 build 를 하거나 podman pull <DOCKER_IMAGE_NAME> 명령어를 사용할 때 아래와 같은 에러가 발생할 때가 있다.

    Terminal window
    Error: error creating build container: short-name "eclipse-temurin:17" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"
    • short-name : docker image 의 별칭(alias). docker pull ubuntudocker pull docker.io/library/ubuntu 의 short-name 이다.
  • Docker 레지스트리에서 이미지 파일을 찾을 수 없는 것이 원인이므로 아래의 명령어를 실행해 해결한다.

    Terminal window
    $ echo "unqualified-search-registries = [\"docker.io\"]" | sudo tee -a /etc/containers/registries.conf