Podman은 Windows10 WSL2  Ubuntu 20.04에 설치하거나 Windows10 WSL2 에 Ubuntu 20.10 이상에서 설치할 수 있습니다.

Windows 10 WSL2 에 Ubuntu 20.10 이상인 경우에는 설치 방법이 간단합니다.

단, 현재까지는 Window10에 Unbuntu 20.10을 직접 설치할 수 없어, Ubuntu 20.04를 20.10 이상으로 Upgrade해야 합니다.

 

Windows 10 WSL 2  Ubuntu 20.04에 Podman 설치

Windows 10 WSL 2 에 Ubuntu 20.04가 설치되어 있지 않다면

Microsoft Store 또는 Powershell을 사용하여 Ubuntu 20.04 LTS Linux 앱을 설치합니다.
CLI와 GUI의 두 가지 방법이 있습니다.

 

1. Window10에 Ubuntu 20.04 설치

1) Command-line 설치

다음 명령어로 사용 가능한 다른 Linux 배포판을 확인합니다.

wsl --list --online

명령줄을 사용하려면 Windows 시작 메뉴에서 Powershell(관리자) 또는 Windows 터미널(관리자)을 선택합니다.

wsl --install -d Ubuntu-20.04

2) GUI 로 설치

Microsoft Store 에서 Ubuntu 20.04 LTS 를 검색한 후 [설치] 버튼을 클릭하여 설치합니다.

 

2. Ubuntu 20.04가 설치된 WSL2 실행

명령창, Powershell, Window Terminal 중 평소 본인이 사용하는 명령창을 관리자모드로 실행합니다. 설치된 Ubuntu 에 wsl 명령어를 입력하여 접속합니다. 최초 접속하는 경우에는 설정을 완료하는 데 시간이 걸리며 그 후에 사용자 이름과 비밀번호를 설정하라는 메시지가 표시됩니다.

한번 만들면 해당 계정이 배포의 기본 사용자가 되며 시작 시 자동으로 로그인됩니다. 

이 계정은 sudo(Super User Do) 명령을 실행할 수 있는 Linux 관리자입니다. 

최초 설정이 완료되면 먼저 업데이트 명령을 실행합니다.

$ sudo apt update

 

3. Podman 설치

저장소를 사용하여 Ubuntu 20.04 LTS에서 Podman을 가져옵니다

 

repository 추가

echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_20.04/ /" |
sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list

GPG key 추가

curl -L "https://download.opensuse.org/repositories/devel:/kubic:\
/libcontainers:/stable/xUbuntu_20.04/Release.key" | sudo apt-key add -

시스템 업데이트 및 업그레이드를 실행하여 Repo 캐시를 새로 고치고 사용 가능한 패키지의 최신 버전을 설치합니다.

sudo apt-get update
sudo apt-get -y upgrade

apt 로 podman 을 설치합니다.

sudo apt install podman

podman -v 로 설치된 버전을 확인합니다.

$ podman -v
podman version 3.4.2

 

사내시스템에서 인트라넷을 사용하는 경우 아래와 같은 문제가 발생할 수 있다. 아래와 같은 에러가 발생하는 이유는 각 회사 컴퓨터에는 신뢰할 수 있는 루트 인증 기관을 가지고 있게 되는데, 인증 기관으로 도메인을 포함하지 않은 경우에 이런 에러가 발생할 수 있다.

curl failed to verify the legitimacy of the server and ...
...
gpg: no valid OpenPGP data found.

 

위와 같은 오류로 인해 설치가 안될 경우, 아래 명령어를 수행하면 됩니다.

permission deny가 날 경우 sudo 명령어를 붙여서 수행합니다.

. /etc/os-release
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update -qq
sudo apt-get -qq -y install podman
sudo mkdir -p /etc/containers
echo -e "[registries.search]\nregistries = ['docker.io', 'quay.io']" | sudo tee /etc/containers/registries.conf

 

 

 

Windows 10 WSL 2  Ubuntu 20.10에 Podman 설치

저장소를 수동으로 추가하고 싶지 않다면 Ubuntu 20.04를 Ubuntu 20.20 LTS로 업그레이드합니다. 그러면 공식 리포지토리를 통해 패키지를 설치할 수 있습니다.

1단계: 실행 중인 WSL2를 터미널을 사용하여 Ubuntu 20.04에서 Ubuntu 21.10으로 업그레이드합니다

             본 문서에서는 업그레이드 방법은 설명하지 않습니다.

             20.04에서 21.04로 업그레이드하는 방법은 링크된 문서를 참고하세요
2단계: Ubuntu 20.10 LTS 이상을 사용 중이면 다음을 실행하면 됩니다

sudo apt install podman

 

Podman으로 컨테이너 생성

Podman에서 사용하는 명령줄은 기본적으로 Docker와 동일하고 추가된 기능이 있습니다.

 

podman pull 명령어로 Ubuntu 이미지를 내려받습니다.

$ podman pull ubuntu
Resolved "ubuntu" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/ubuntu:latest...
Getting image source signatures
Copying blob 7b1a6ab2e44d done
Copying config ba6acccedd done
Writing manifest to image destination
Storing signatures
ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1

podman pull 명령어로 Fedora 이미지를 내려받습니다.

$ podman pull fedora

Resolved "fedora" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull registry.fedoraproject.org/fedora:latest...
Getting image source signatures
Copying blob 4545346f2a49 done
Copying config 3059bef432 done
Writing manifest to image destination
Storing signatures
3059bef432ebb91a6a51d8f5cf20b033041dbddb3cab79628c1eb3412cbde0ae

podman images 명령어로 내려받은 이미지를 조회합니다.

$ podman images

REPOSITORY                         TAG         IMAGE ID      CREATED       SIZE
registry.fedoraproject.org/fedora  latest      3059bef432eb  4 weeks ago   159 MB
docker.io/library/ubuntu           latest      ba6acccedd29  2 months ago  75.2 MB

 

Note: 이미지를 가져오는 동안 경고가 표시되는 경우 접근권한의 문제이므로 아래 명령어를 수행합니다.

: WARN[0000] "/"는 공유 마운트가 아닌 경우 루트가 없는 컨테이너에 문제가 발생하거나 마운트가 누락될 수 있습니다.

sudo chmod 4755 /usr/bin/newgidmap
sudo chmod 4755 /usr/bin/newuidmap

 

Podman run

다운로드한 이미지로 컨테이너를 생성 합니다. 

$ podman run -dit --name fe_cont fedora

-d, --detach : 백그라운드에서 컨테이너를 실행하고 새 컨테이너 ID를 출력합니다. 기본값은 false입니다.

- i, --interactive : true로 설정하면 연결되지 않은 경우에도 stdin을 열어 둡니다. 기본값은 false입니다.

- t, --tty : TTY를 할당합니다. 기본값은 false입니다

--name <container_name> : 컨테이너 이름을 지정합니다.

위 명령어는 다운로드한 fedora 이미지로 fe_cont 라는 컨테이너를 생성하고 stdin과 tty 로 리눅스 콘솔을 할당하고 백그라운드로 실행하라는 명령어입니다.

$ podman ps
CONTAINER ID  IMAGE                                     COMMAND     CREATED         STATUS             PORTS       NAMES
7933f20a3a8b  registry.fedoraproject.org/fedora:latest  /bin/bash   14 minutes ago  Up 14 minutes ago              fe_cont

 

podman attach 로 실행중인 컨테이너에 접속합니다. fe_cont 컨테이너에 접속 한 후 /etc/os-release 로 조회해 봅니다.

$ podman attach fe_cont

[root@7933f20a3a8b /]# cat /etc/os-release
NAME="Fedora Linux"
VERSION="35 (Container Image)"
ID=fedora
VERSION_ID=35
.. ...
VARIANT="Container Image"
VARIANT_ID=container

 

Docker를 Podman의 별칭으로 사용

 

Docker 명령어가 친숙한 경우 docker로 별칭을 지정하여 사용할 수 있습니다.

$ alias docker=podman
$ docker --version

podman version 3.4.2

그래픽 사용자 인터페이스를 사용하여 Podman을 관리하려면  Cockpit 웹 콘솔을 설치하는 방법으로 참고하세요.

 

 

 

 

 

+ Recent posts