docker없이 컨테이너 실행하기
- podman-docker 패키지를 통해 docker가 설치되어 있지 않아도 docker 명령어를 실행할 수 있습니다.
사실 커맨드가 매핑도이 있는것이고 실제로는 podman을 실행하게 됩니다.
1$> yum install podman-docker -y2마지막 메타자료 만료확인 1:40:24 이전인: 2022년 02월 07일 (월) 오후 12시 21분 09초.3종속성이 해결되었습니다.4=================================================================================5꾸러미 구조 버전 레포지터리 크기6=================================================================================7설치 중:8podman-docker9noarch 3.3.1-9.0.1.module+el8.5.0+20416+d687fed7 ol8_appstream 56 k1011연결 요약12=================================================================================13설치 1 꾸러미1415총계 내려받기 크기: 56 k16설치된 크기 : 23017꾸러미 내려받기중:18podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d 288 kB/s | 56 kB 00:0019---------------------------------------------------------------------------------20합계 284 kB/s | 56 kB 00:0021연결 확인 실행 중22연결 확인에 성공했습니다.23연결 시험 실행 중24연결 시험에 성공했습니다.25연결 실행 중26준비 중 : 1/127설치 중 : podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f 1/128스크립트릿 실행 중: podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f 1/129[/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.3031확인 중 : podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687f 1/13233설치되었습니다:34podman-docker-3.3.1-9.0.1.module+el8.5.0+20416+d687fed7.noarch3536완료되었습니다!1# yum module install container-tools -y2마지막 메타자료 만료확인 0:09:24 이전인: 2022년 02월 07일 (월) 오후 03시 57분 13초.3종속성이 해결되었습니다.4=================================================================================5꾸러미 구조 버전 레포지터리 크기6=================================================================================7그룹/모듈 꾸러미 설치:8crun x86_64 1.0-1.module+el8.5.0+20416+d687fed7 ol8_appstream 193 k9python3-podman noarch 3.2.0-2.module+el8.5.0+20416+d687fed7 ol8_appstream 148 k10udica noarch 0.2.5-2.module+el8.5.0+20416+d687fed7 ol8_appstream 51 k11종속 꾸러미 설치 중:12python3-pytoml noarch 0.1.14-5.git7dea353.el8 ol8_appstream 25 k13python3-pyxdg noarch 0.25-16.el8 ol8_appstream 94 k14모듈 프로파일 설치:15container-tools/common161718연결 요약19=================================================================================20설치 5 꾸러미2122총계 내려받기 크기: 510 k23설치된 크기 : 1.6 M24꾸러미 내려받기중:25(1/5): crun-1.0-1.module+el8.5.0+20416+d687fed7. 1.6 MB/s | 193 kB 00:0026(2/5): python3-podman-3.2.0-2.module+el8.5.0+204 65 kB/s | 148 kB 00:0227(3/5): python3-pytoml-0.1.14-5.git7dea353.el8.no 10 kB/s | 25 kB 00:0228(4/5): python3-pyxdg-0.25-16.el8.noarch.rpm 39 kB/s | 94 kB 00:0229(5/5): udica-0.2.5-2.module+el8.5.0+20416+d687fe 33 kB/s | 51 kB 00:0130---------------------------------------------------------------------------------31합계 133 kB/s | 510 kB 00:0332연결 확인 실행 중33연결 확인에 성공했습니다.34연결 시험 실행 중35연결 시험에 성공했습니다.36연결 실행 중37준비 중 : 1/138설치 중 : python3-pyxdg-0.25-16.el8.noarch 1/539설치 중 : python3-pytoml-0.1.14-5.git7dea353.el8.noarch 2/540설치 중 : python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7 3/541설치 중 : udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch 4/542설치 중 : crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64 5/543스크립트릿 실행 중: crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64 5/544확인 중 : crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_64 1/545확인 중 : python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7 2/546확인 중 : python3-pytoml-0.1.14-5.git7dea353.el8.noarch 3/547확인 중 : python3-pyxdg-0.25-16.el8.noarch 4/548확인 중 : udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch 5/54950설치되었습니다:51crun-1.0-1.module+el8.5.0+20416+d687fed7.x86_6452python3-podman-3.2.0-2.module+el8.5.0+20416+d687fed7.noarch53python3-pytoml-0.1.14-5.git7dea353.el8.noarch54python3-pyxdg-0.25-16.el8.noarch55udica-0.2.5-2.module+el8.5.0+20416+d687fed7.noarch완료되었습니다!- docker의 socket api가 지원되기 때문에 podman-docker 패키지를 설치하면 /var/run/docker.sock과 /var/run/podman/podman.sock의 링크를 설정하기 때문에 docker-py, docker-compose를 이용한 docker api도 그대로 사용할 수 있습니다.
- podman에서 지원하지 않는 docker 옵션은 네트워크, 노드, 플러그인, 이름변경, 시크릿, 서비스, 스택, docker swarm이 대상입니다.
Rooless설정
- 호스트 컨테이너 스토리지 경로는 사용자 정보에 따라 달라집니다. (root - /var/lib/containers/storage, non root - $HOME/.local/share/containers/storage)
- rootless 컨테이너는 1024미만의 포트에 액세스 할 수 없습니다. (tcp/80을 사용하는 apache의 경우 서비스에서는 tcp/80을 표시하시만 서버 외부에서 실제 접속은 불가능)
- 1024 이하 포트를 사용하려면 커널값 변경을 통해 임시로 사용할 수는 있으나, 프로덕션 환경에서는 사용하는것은 권장되지 않습니다. (테스트 목적)1
$> echo 80 > /proc/sys/net/ipv4/ip_unprivileged_port_start - 8.1부터 rootless Containers기능을 사용하면 일반사용자로 컨테이너 실행할 수 있습니다. (rootless는 기본기능)1
$> podman pull docker.io/library/httpd2Trying to pull docker.io/library/httpd:latest...3Getting image source signatures4Copying blob 5eb5b503b376 done5Copying blob 10c4d45228bf done6Copying blob a43a76ccc967 done7Copying blob 942bd346e7f7 done8Copying blob cdb155854ae6 done9Copying config a8ea074f45 done10Writing manifest to image destination11Storing signatures12a8ea074f4566addcd01f9745397f32be471df4a4abf200f0f10c885ed14b1d2813[user@test~]$ docker image ls14Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.15REPOSITORY TAG IMAGE ID CREATED SIZE16docker.io/library/httpd latest a8ea074f4566 11 days ago 148 MB
레지스트리 구성
- registries.conf에 컨테이너를 내려받기 위한 레지스트리 목록이 저장되어 있습니다, 해당 파일에서 검색할 레지스트리를 설정 할 수 있습니다.1
$> vi /etc/containers/registries.conf2...3unqualified-search-registries = ["container-registry.oracle.com", "docker.io", "container.test.com"]4... - test.com은 TLS 없이 pull 설정1
$> vi /etc/containers/registries.conf2...3[[registry]]4location="container.test.com"5insecure = true6... - 특정 레지스트리 검색 차단1
$> vi /etc/containers/registries.conf2...3[[registry]]4location="container.test.com"5blocked = true6...
- registries.conf에 컨테이너를 내려받기 위한 레지스트리 목록이 저장되어 있습니다, 해당 파일에서 검색할 레지스트리를 설정 할 수 있습니다.
- 이미지 검사
- skopeo 명령어를 통해 이미지 정보를 확인할 수 있습니다.
- httpd container 정보 확인 방법1
# skopeo inspect docker://docker.io/library/httpd:latest2{3"Name": "docker.io/library/httpd",4"Digest": "sha256:5cc947a200524a822883dc6ce6456d852d7c5629ab177dfbf7e38c1b4a647705",5"RepoTags": [6"2",7"2-alpine",8"2-alpine3.13",9"2-alpine3.14",10"2-alpine3.15",11"2-bullseye",12"2-buster",13"2.2",14"2.2-alpine",15"2.2.29",16"2.2.31",17"2.2.31-alpine",18"2.2.32",19"2.2.32-alpine",20"2.2.34",21"2.2.34-alpine",22"2.4",23"2.4-alpine",24"2.4-alpine3.13",25"2.4-alpine3.14",26"2.4-alpine3.15",27"2.4-bullseye",28"2.4-buster",29"2.4.10",30"2.4.12",31"2.4.16",32"2.4.17",33"2.4.18",34"2.4.20",35"2.4.23",36"2.4.23-alpine",37"2.4.25",38"2.4.25-alpine",39"2.4.27",40"2.4.27-alpine",41"2.4.28",42"2.4.28-alpine",43"2.4.29",44"2.4.29-alpine",45"2.4.32",46"2.4.32-alpine",47"2.4.33",48"2.4.33-alpine",49"2.4.34",50"2.4.34-alpine",51"2.4.35",52"2.4.35-alpine",53"2.4.37",54"2.4.37-alpine",55"2.4.38",56"2.4.38-alpine",57"2.4.39",58"2.4.39-alpine",59"2.4.41",60"2.4.41-alpine",61"2.4.43",62"2.4.43-alpine",63"2.4.46",64"2.4.46-alpine",65"2.4.47",66"2.4.47-alpine",67"2.4.48",68"2.4.48-alpine",69"2.4.48-alpine3.13",70"2.4.48-alpine3.14",71"2.4.48-buster",72"2.4.49",73"2.4.49-alpine",74"2.4.49-alpine3.14",75"2.4.49-buster",76"2.4.50",77"2.4.50-alpine",78"2.4.50-alpine3.14",79"2.4.50-buster",80"2.4.51",81"2.4.51-alpine",82"2.4.51-alpine3.14",83"2.4.51-alpine3.15",84"2.4.51-bullseye",85"2.4.51-buster",86"2.4.52",87"2.4.52-alpine",88"2.4.52-alpine3.15",89"2.4.52-bullseye",90"alpine",91"alpine3.13",92"alpine3.14",93"alpine3.15",94"bullseye",95"buster",96"latest"97],98"Created": "2022-01-26T08:38:51.175633696Z",99"DockerVersion": "20.10.7",100"Labels": null,101"Architecture": "amd64",102"Os": "linux",103"Layers": [104"sha256:5eb5b503b37671af16371272f9c5313a3e82f1d0756e14506704489ad9900803",105"sha256:a43a76ccc96739928c7e884f2210dde01ae5b1fd8822f8cdd56e6ba64ec3125a",106"sha256:942bd346e7f719d26e022dfc42eea7e1fa5cf9ad60ec80ed0ef79ded05288be6",107"sha256:cdb155854ae6a9e25834459a7c9dfc7be157a2ebfca5adbdb036aeea43ce3128",108"sha256:10c4d45228bf56285a1e2c828d60e34d8413ee80e1abd738ef190be843d9dc1e"109],110"Env": [111"PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",112"HTTPD_PREFIX=/usr/local/apache2",113"HTTPD_VERSION=2.4.52",114"HTTPD_SHA256=0127f7dc497e9983e9c51474bed75e45607f2f870a7675a86dc90af6d572f5c9",115"HTTPD_PATCHES="116]
2022년 7월 25일 월요일
podman사용하기
docker없이 컨테이너 실행하기
- podman-docker 패키지를 통해 docker가 설치되어 있지 않아도 docker 명령어를 실행할 수 있습니다.
사실 커맨드가 매핑도이 있는것이고 실제로는 podman을 실행하게 됩니다.
완료되었습니다!- docker의 socket api가 지원되기 때문에 podman-docker 패키지를 설치하면 /var/run/docker.sock과 /var/run/podman/podman.sock의 링크를 설정하기 때문에 docker-py, docker-compose를 이용한 docker api도 그대로 사용할 수 있습니다.
- podman에서 지원하지 않는 docker 옵션은 네트워크, 노드, 플러그인, 이름변경, 시크릿, 서비스, 스택, docker swarm이 대상입니다.
Rooless설정
- 호스트 컨테이너 스토리지 경로는 사용자 정보에 따라 달라집니다. (root - /var/lib/containers/storage, non root - $HOME/.local/share/containers/storage)
- rootless 컨테이너는 1024미만의 포트에 액세스 할 수 없습니다. (tcp/80을 사용하는 apache의 경우 서비스에서는 tcp/80을 표시하시만 서버 외부에서 실제 접속은 불가능)
- 1024 이하 포트를 사용하려면 커널값 변경을 통해 임시로 사용할 수는 있으나, 프로덕션 환경에서는 사용하는것은 권장되지 않습니다. (테스트 목적)
- 8.1부터 rootless Containers기능을 사용하면 일반사용자로 컨테이너 실행할 수 있습니다. (rootless는 기본기능)
레지스트리 구성
- registries.conf에 컨테이너를 내려받기 위한 레지스트리 목록이 저장되어 있습니다, 해당 파일에서 검색할 레지스트리를 설정 할 수 있습니다.
- test.com은 TLS 없이 pull 설정
- 특정 레지스트리 검색 차단
- 이미지 검사
- skopeo 명령어를 통해 이미지 정보를 확인할 수 있습니다.
- httpd container 정보 확인 방법
피드 구독하기:
댓글 (Atom)
adfit
AI들끼리 대화하기
ChatGPT, perplexity, Gemini... 많은 AI 서비스가 있고 서비스별로 다양한 엔진이 있죠. 문득 AI끼리 대화를 시켜보면 어떤 대화의 흐름을 이어갈까 궁금해졌습니다. 그래서 해보았습니다. 규 칙 나(사람)은 양쪽 AI에서...
-
perplexity에서 생성한 AI이미지 시작하는말 안녕하세요, 고니입니다. OS 계정이 root가 아닌 일반 계정에서 kubectl을 사용할 인증정보가 없기 때문에 사용할 수 없습니다. 이를 해결하기 위한 절차를 기술합니다. 작업절차 인증서 ...
-
Bottle 설치 - 리눅스에서 스타도전기. 에 적어두었던 Bottle 사용하다보니 아쉬운 이슈? 버그가 하나 있어요. 바로 한글 입력 문제인데 카카오톡에서 안녕하세요라고 입력하고 싶었는데 이렇게.... ㅠㅠ 해결할 수 있는 방법은 bott...
-
발생현상 pod 구동될때 Imageinspecterror 메시지를 출력하면서 구동되지 않는 문제 $> kubectl describe pod {{ pod명 }} ... Events ... Imageinspecterror docker data ...
댓글 없음:
댓글 쓰기