컨테이너를 밑바닥부터 빌드하고 구동

1 개요[ | ]

Build and run a Container
컨테이너 빌드 및 구동 - 컨테이너를 밑바닥부터 빌드하고 구동

2 시나리오[ | ]

밑바닥부터 컨테이너 빌드
  • 컨테이너 이미지를 빌드하기 위한 /root/Dockerfile 파일 생성
    • 베이스 bash
    • ping killercoda.com 실행
  • 이미지를 pinger로 태그
  • my-ping이라는 이름으로 이미지 실행(컨테이너 생성)
레지스트리에 이미지 푸시
  • 현재 pinger로 태그된 이미지를 local-registry:5000/pinger로 태그
  • 로컬 레지스트리에 푸시
커스텀 태그로 레지스트리에 푸시
  • pinger로 태그된 이미지를 pinger:v1local-registry:5000/pinger:v1로 태그
  • 로컬 레지스트리에 푸시

3 실습[ | ]

밑바닥부터 컨테이너 빌드
$ vi /root/Dockerfile
FROM bash
CMD ["ping", "killercoda.com"]
$ podman build -t pinger .
STEP 1/2: FROM bash
✔ docker.io/library/bash:latest
Trying to pull docker.io/library/bash:latest...
Getting image source signatures
Copying blob a4883539bf8c done  
Copying blob d25f557d7f31 done  
Copying blob 6964a138a640 done  
Copying config 2b1f65d9f1 done  
Writing manifest to image destination
Storing signatures
STEP 2/2: CMD ["ping", "killercoda.com"]
COMMIT pinger
--> 2053bda09cc
Successfully tagged localhost/pinger:latest
2053bda09cc582f0a95d569cd8fee6a9d33214767a102d71ad5a554da9be2c72
$ podman image ls
REPOSITORY                  TAG         IMAGE ID      CREATED         SIZE
localhost/pinger            latest      2053bda09cc5  13 seconds ago  14.9 MB
docker.io/library/bash      latest      2b1f65d9f1d8  2 weeks ago     14.9 MB
docker.io/library/registry  2           d6b2c32a0f14  8 months ago    26 MB
$ podman run --name my-ping pinger
PING killercoda.com (104.26.15.111): 56 data bytes
64 bytes from 104.26.15.111: seq=0 ttl=42 time=2.218 ms
64 bytes from 104.26.15.111: seq=1 ttl=42 time=2.272 ms
64 bytes from 104.26.15.111: seq=2 ttl=42 time=2.618 ms
^C
--- killercoda.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
레지스트리에 이미지 푸시
$ podman tag pinger local-registry:5000/pinger
$ podman image ls
REPOSITORY                  TAG         IMAGE ID      CREATED        SIZE
localhost/pinger            latest      2053bda09cc5  2 minutes ago  14.9 MB
local-registry:5000/pinger  latest      2053bda09cc5  2 minutes ago  14.9 MB
docker.io/library/bash      latest      2b1f65d9f1d8  2 weeks ago    14.9 MB
docker.io/library/registry  2           d6b2c32a0f14  8 months ago   26 MB
$ podman push local-registry:5000/pinger
Getting image source signatures
Copying blob fd9c53b6ae4a done  
Copying blob 623d9b787a3f done  
Copying blob 02f2bcb26af5 done  
Copying config 2053bda09c done  
Writing manifest to image destination
Storing signatures
커스텀 태그로 레지스트리에 푸시
$ podman tag pinger pinger:v1
$ podman tag pinger local-registry:5000/pinger:v1
$ podman image ls
REPOSITORY                  TAG         IMAGE ID      CREATED         SIZE
localhost/pinger            latest      2053bda09cc5  11 minutes ago  14.9 MB
local-registry:5000/pinger  latest      2053bda09cc5  11 minutes ago  14.9 MB
localhost/pinger            v1          2053bda09cc5  11 minutes ago  14.9 MB
local-registry:5000/pinger  v1          2053bda09cc5  11 minutes ago  14.9 MB
docker.io/library/bash      latest      2b1f65d9f1d8  2 weeks ago     14.9 MB
docker.io/library/registry  2           d6b2c32a0f14  8 months ago    26 MB
$ podman push local-registry:5000/pinger:v1
Getting image source signatures
Copying blob fd9c53b6ae4a skipped: already exists  
Copying blob 02f2bcb26af5 skipped: already exists  
Copying blob 623d9b787a3f skipped: already exists  
Copying config 2053bda09c done  
Writing manifest to image destination
Storing signatures

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}