전산쟁이의 기억노트

podman사용하기 본문

컨테이너&가상화

podman사용하기

잘나가는전산쟁이 2022. 7. 24. 00:21
728x90
반응형
SMALL

 docker없이 컨테이너 실행하기

  1. podman-docker 패키지를 통해 docker가 설치되어 있지 않아도 docker 명령어를 실행할 수 있습니다.
  2. 사실 커맨드가 매핑도이 있는것이고 실제로는 podman을 실행하게 됩니다.
$> yum install podman-docker -y
마지막 메타자료 만료확인 1:40:24 이전인: 2022년 02월 07일 (월) 오후 12시 21분 09초.
종속성이 해결되었습니다.
=================================================================================
 꾸러미     구조   버전                                      레포지터리     크기
=================================================================================
설치 중:
 podman-docker
            noarch 3.3.1-9.0.1.module+el8.5.0+20416+d687fed7 ol8_appstream  56 k

연결 요약
=================================================================================
설치  1 꾸러미

총계 내려받기 크기: 56 k
설치된 크기 : 230
꾸러미 내려받기중:
podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d 288 kB/s |  56 kB     00:00
---------------------------------------------------------------------------------
합계                                             284 kB/s |  56 kB     00:00
연결 확인 실행 중
연결 확인에 성공했습니다.
연결 시험 실행 중
연결 시험에 성공했습니다.
연결 실행 중
  준비 중           :                                                        1/1
  설치 중           : podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f   1/1
  스크립트릿 실행 중: podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f   1/1
[/usr/lib/tmpfiles.d/pesign.conf:1] Line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.

  확인 중           : podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f   1/1

설치되었습니다:
  podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687fed7.noarch

완료되었습니다!
# yum module install container-tools -y
마지막 메타자료 만료확인 0:09:24 이전인: 2022년 02월 07일 (월) 오후 03시 57분 13초.
종속성이 해결되었습니다.
=================================================================================
 꾸러미         구조   버전                                  레포지터리     크기
=================================================================================
그룹/모듈 꾸러미 설치:
 crun           x86_64 1.0-1.module+el8.5.0+20416+d687fed7   ol8_appstream 193 k
 python3-podman noarch 3.2.0-2.module+el8.5.0+20416+d687fed7 ol8_appstream 148 k
 udica          noarch 0.2.5-2.module+el8.5.0+20416+d687fed7 ol8_appstream  51 k
종속 꾸러미 설치 중:
 python3-pytoml noarch 0.1.14-5.git7dea353.el8               ol8_appstream  25 k
 python3-pyxdg  noarch 0.25-16.el8                           ol8_appstream  94 k
모듈 프로파일 설치:
 container-tools/common


연결 요약
=================================================================================
설치  5 꾸러미

총계 내려받기 크기: 510 k
설치된 크기 : 1.6 M
꾸러미 내려받기중:
(1/5): crun-1.0-1.module+el8.5.0+20416+d687fed7. 1.6 MB/s | 193 kB     00:00
(2/5): python3-podman-3.2.0-2.module+el8.5.0+204  65 kB/s | 148 kB     00:02
(3/5): python3-pytoml-0.1.14-5.git7dea353.el8.no  10 kB/s |  25 kB     00:02
(4/5): python3-pyxdg-0.25-16.el8.noarch.rpm       39 kB/s |  94 kB     00:02
(5/5): udica-0.2.5-2.module+el8.5.0+20416+d687fe  33 kB/s |  51 kB     00:01
---------------------------------------------------------------------------------
합계                                             133 kB/s | 510 kB     00:03
연결 확인 실행 중
연결 확인에 성공했습니다.
연결 시험 실행 중
연결 시험에 성공했습니다.
연결 실행 중
  준비 중           :                                                        1/1
  설치 중           : python3-pyxdg-0.25-16.el8.noarch                       1/5
  설치 중           : python3-pytoml-0.1.14-5.git7dea353.el8.noarch          2/5
  설치 중           : python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7   3/5
  설치 중           : udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch     4/5
  설치 중           : crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64        5/5
  스크립트릿 실행 중: crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64        5/5
  확인 중           : crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64        1/5
  확인 중           : python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7   2/5
  확인 중           : python3-pytoml-0.1.14-5.git7dea353.el8.noarch          3/5
  확인 중           : python3-pyxdg-0.25-16.el8.noarch                       4/5
  확인 중           : udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch     5/5

설치되었습니다:
  crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64
  python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7.noarch
  python3-pytoml-0.1.14-5.git7dea353.el8.noarch
  python3-pyxdg-0.25-16.el8.noarch
  udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch

 

    1. 완료되었습니다!
    2. docker의 socket api가 지원되기 때문에 podman-docker 패키지를 설치하면 /var/run/docker.sock과 /var/run/podman/podman.sock의 링크를 설정하기 때문에 docker-py, docker-compose를 이용한 docker api도 그대로 사용할 수 있습니다.
    3. podman에서 지원하지 않는 docker 옵션은 네트워크, 노드, 플러그인, 이름변경, 시크릿, 서비스, 스택, docker swarm이 대상입니다.
  1. Rooless설정
    1. 호스트 컨테이너 스토리지 경로는 사용자 정보에 따라 달라집니다. (root - /var/lib/containers/storage, non root - $HOME/.local/share/containers/storage)
    2. rootless 컨테이너는 1024미만의 포트에 액세스 할 수 없습니다. (tcp/80을 사용하는 apache의 경우 서비스에서는 tcp/80을 표시하시만 서버 외부에서 실제 접속은 불가능)
    3. 1024 이하 포트를 사용하려면 커널값 변경을 통해 임시로 사용할 수는 있으나, 프로덕션 환경에서는 사용하는것은 권장되지 않습니다. (테스트 목적)

    4. 8.1부터 rootless Containers기능을 사용하면 일반사용자로 컨테이너 실행할 수 있습니다. (rootless는 기본기능)

    레지스트리 구성

    1. registries.conf에 컨테이너를 내려받기 위한 레지스트리 목록이 저장되어 있습니다, 해당 파일에서 검색할 레지스트리를 설정 할 수 있습니다.
    2. 레지스트리 구성
      1. registries.conf에 컨테이너를 내려받기 위한 레지스트리 목록이 저장되어 있습니다, 해당 파일에서 검색할 레지스트리를 설정 할 수 있습니다.
      2. test.com은 TLS 없이 pull 설정
      3. 특정 레지스트리 검색 차단
      4.  
       
    이미지 검사
    1. skopeo 명령어를 통해 이미지 정보를 확인할 수 있습니다.
    2.  
    3. httpd container 정보 확인 방법
    4.  
$> echo 80 > /proc/sys/net/ipv4/ip_unprivileged_port_start
$> podman pull docker.io/library/httpd
Trying to pull docker.io/library/httpd:latest...
Getting image source signatures
Copying blob 5eb5b503b376 done
Copying blob 10c4d45228bf done
Copying blob a43a76ccc967 done
Copying blob 942bd346e7f7 done
Copying blob cdb155854ae6 done
Copying config a8ea074f45 done
Writing manifest to image destination
Storing signatures
a8ea074f4566addcd01f9745397f32be471df4a4abf200f0f10c885ed14b1d28
[user@test~]$ docker  image ls
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
REPOSITORY               TAG         IMAGE ID      CREATED      SIZE
docker.io/library/httpd  latest      a8ea074f4566  11 days ago  148 MB
$> vi /etc/containers/registries.conf
...
[[registry]]
location="container.test.com"
insecure = true
...
$> vi /etc/containers/registries.conf
...
[[registry]]
location="container.test.com"
blocked = true
...
# skopeo inspect docker://docker.io/library/httpd:latest
{
   "Name": "docker.io/library/httpd",
   "Digest": "sha256:5cc947a200524a822883dc6ce6456d852d7c5629ab177dfbf7e38c1b4a647705",
   "RepoTags": [
       "2",
       "2-alpine",
       "2-alpine3.13",
       "2-alpine3.14",
       "2-alpine3.15",
       "2-bullseye",
       "2-buster",
       "2.2",
       "2.2-alpine",
       "2.2.29",
       "2.2.31",
       "2.2.31-alpine",
       "2.2.32",
       "2.2.32-alpine",
       "2.2.34",
       "2.2.34-alpine",
       "2.4",
       "2.4-alpine",
       "2.4-alpine3.13",
       "2.4-alpine3.14",
       "2.4-alpine3.15",
       "2.4-bullseye",
       "2.4-buster",
       "2.4.10",
       "2.4.12",
       "2.4.16",
       "2.4.17",
       "2.4.18",
       "2.4.20",
       "2.4.23",
       "2.4.23-alpine",
       "2.4.25",
       "2.4.25-alpine",
       "2.4.27",
       "2.4.27-alpine",
       "2.4.28",
       "2.4.28-alpine",
       "2.4.29",
       "2.4.29-alpine",
       "2.4.32",
       "2.4.32-alpine",
       "2.4.33",
       "2.4.33-alpine",
       "2.4.34",
       "2.4.34-alpine",
       "2.4.35",
       "2.4.35-alpine",
       "2.4.37",
       "2.4.37-alpine",
       "2.4.38",
       "2.4.38-alpine",
       "2.4.39",
       "2.4.39-alpine",
       "2.4.41",
       "2.4.41-alpine",
       "2.4.43",
       "2.4.43-alpine",
       "2.4.46",
       "2.4.46-alpine",
       "2.4.47",
       "2.4.47-alpine",
       "2.4.48",
       "2.4.48-alpine",
       "2.4.48-alpine3.13",
       "2.4.48-alpine3.14",
       "2.4.48-buster",
       "2.4.49",
       "2.4.49-alpine",
       "2.4.49-alpine3.14",
       "2.4.49-buster",
       "2.4.50",
       "2.4.50-alpine",
       "2.4.50-alpine3.14",
       "2.4.50-buster",
       "2.4.51",
       "2.4.51-alpine",
       "2.4.51-alpine3.14",
       "2.4.51-alpine3.15",
       "2.4.51-bullseye",
       "2.4.51-buster",
       "2.4.52",
       "2.4.52-alpine",
       "2.4.52-alpine3.15",
       "2.4.52-bullseye",
       "alpine",
       "alpine3.13",
       "alpine3.14",
       "alpine3.15",
       "bullseye",
       "buster",
       "latest"
   ],
   "Created": "2022-01-26T08:38:51.175633696Z",
   "DockerVersion": "20.10.7",
   "Labels": null,
   "Architecture": "amd64",
   "Os": "linux",
   "Layers": [
       "sha256:5eb5b503b37671af16371272f9c5313a3e82f1d0756e14506704489ad9900803",
       "sha256:a43a76ccc96739928c7e884f2210dde01ae5b1fd8822f8cdd56e6ba64ec3125a",
       "sha256:942bd346e7f719d26e022dfc42eea7e1fa5cf9ad60ec80ed0ef79ded05288be6",
       "sha256:cdb155854ae6a9e25834459a7c9dfc7be157a2ebfca5adbdb036aeea43ce3128",
       "sha256:10c4d45228bf56285a1e2c828d60e34d8413ee80e1abd738ef190be843d9dc1e"
   ],
   "Env": [
       "PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
       "HTTPD_PREFIX=/usr/local/apache2",
       "HTTPD_VERSION=2.4.52",
       "HTTPD_SHA256=0127f7dc497e9983e9c51474bed75e45607f2f870a7675a86dc90af6d572f5c9",
       "HTTPD_PATCHES="
   ]
728x90
반응형
LIST

'컨테이너&가상화' 카테고리의 다른 글

Docker컨테이너 저장경로 변경방법  (0) 2022.07.24
docker 와 cri-o 비교  (0) 2022.07.24
podman기반의 컨테이너 정보 설정  (0) 2022.07.24
Podman기반의 DNS연동  (0) 2022.07.22
CRI-O기반의 k8s설치  (0) 2022.07.22
Comments