티스토리 뷰
리눅스 기초 docker images 만들기 제목은 원래 podman images build 하기로 하려다가...
rhcsa 포스팅 글에 조회수도 쭉쭉 빠지기 시작하고... 아무튼...
docker images 만들기는 앞선 내용 중에서 podman 명령어를 나름 필요한 것들은 다 작성했기 때문에
그리고 명령어도 podman이나 docker나 똑같아서 본인이 만든 애플리케이션을 images화 하는 방법을 포스팅하려고 한다.
딱히 어렵지도 않기 때문에 쉽게 쉽게 풀어 가보자~
목차
- Docker images 만들기
1. commit
2. export
3. import
4. save
5. load
Docker commit 명령어
Docker 컨테이너를 통한 image 생성에는 commit 명령어를 사용한다 형식과 옵션은 다음과 같다.
- 형식 -
$ docker commit [ 옵션 ] [ 컨테이너 식별명 ] [ 생성할 이미지명:TAG ]
# docker commit -a test_centos wooju_centos:0.1
옵션 | 설명 |
-a | image 에 작성자 명을 추가 |
-m | image 에 메세지를 지정 |
-c | commit 할때 Dockerfile 명령을 지정 |
-p | image 생성에 만들 container 를 일시 정지 하고 commit 실행 |
실습 예로 test_centos라는 실행 중인 컨테이너를 whitestudy/wscentos이라는 이름과 1.0이라는 TAG를 붙이고 작성자 이름에는 "whitestudy"라고 지정하고 image를 생성해보자
docker commit -a 'white study' test_centos whitestudy/wscentos:1.0
실행 명령줄은 위와 같다 -a 옵션으로 작성자를 white study로 지정하였다.
작성자 추가에 white study 가 들어가 있는지 확인해보자. inspect 명령어 사용
docker image inspect whtiestudy/wscento:1.0
Docker export 명령어
Docker 이미지를 tar로 아카이브 할 수 있는 명령어이다.
tar 파일을 생성해서 보관하고 다른 서버에 복사하여 사용할 수도 있다.
형식을 보자면 다음과 같다.
- docker export [ 실행중인 컨테이너 ] [ 아카이브명 ]
# docker export test_centos > test_centos.tar
실습해 보자
확인해 보면 test_centos.tar 가 생성된 걸 볼 수 있다.
컨테이너를 tar로 아카이브 한 것으로 file로 확인해 보면 아카이브로 나온다.
$ tar -tf test_centos.tar
- Docker import 명령어
docker image 만들기 에서 commit , export를 확인했으니
import 명령어는 리눅스 OS 이미지의 디텍토리 , 파일을 docker image로 만들 수 있다.
형식을 알아보면
docker image import [ 파일 또는 url ] [ 이미지명 : TAG ]
# docker image import tar_test.tar.gz tar_image: 1.0
실습을 위해서 /home 폴더를 tar로 아카이브 하고 파일명을 tar_test.tar.gz으로 만들어 두자 그리고 file로 잘 만들어졌는지 확인하고 위 명령어로 docker image 만들기를 한다음 , 잘 만들어 졌는지 확인까지 해보자
$ tar zcvf tar_text.tar.gz ~
# 아카이브 명령줄
$ tar tf tar_text.tar.gz
# 아카이브 내용 확인
$ docker import tar_test.tar.gz tar_test:1.0
# docker image 생성
$ docker images
# 도커 이미지 확인
사용한 명령어들 참고하세요
아카이브는 다음과 같은 것들을 지원한다.
- tar , tar.gz , tgz , bzip , tar.xz , txz
docker save , load 명령어
save 명령어로 docker image 를 tar 로 아카이브해서 관리 할수 있다.
형식은
$ docker save [ 옵션 ] [ 저장 파일명 ] [아카이브 할 이미지명]
# docker save -o tar_achive.tar tar_test:1.0
load 명령어 tar 로 만들어진 이미지를 불러 들일수 있다.
형식은
$ docker load [ 옵 션 ][ tar파일명]
# docker load -i tar_achive.tar
docker image 만들기 마무리~
마무리 하기 전에 확인 하고 넘어가야 할것이
export , import 와 save , load 의 차이가 뭐냐~~~ 라는 생각이 들수 있는데
export 는 컨테이너를 실행하기 위해 필요하나 모든 파일을 아카이브 하는 것이고
save 는 이미지의 레이어 구조도 포함된 형태로 압축 하게 되는거다~
'System > Linux(Rhel,Ubuntu)' 카테고리의 다른 글
rocky 9 - NFS utils 설정 , ( nfs 설정 , 방화벽 설정 ,오류 해결 방법 ) (4) | 2023.03.23 |
---|---|
(내용수정)리눅스 Admin III 과정(rhel8) - Network bonding 하기(티밍,브리징) (4) | 2023.03.21 |
Rocky Linux yum update error 해결 방법 (1) | 2023.03.08 |
리눅스 개념 #3 - Linux 배포판 (0) | 2022.11.14 |
리눅스 개념#2 - Linux 역사 (0) | 2022.11.10 |
- Total
- Today
- Yesterday
- Rcityboan.com
- grootboan
- Rcity1번
- RCity operation 1
- Grootsecurity
- rhcsa8덤프
- 7-zip
- 라쿤시티
- rhcsa8
- PODman기초
- 리눅스
- rhcsa8 기출문제
- Rcity
- 리눅스 환경변수 지정
- grootsecuriry
- 파이썬기초
- 주소DB만들기
- rhcsa8 덤프
- CTF
- 리눅스 쉘 스크립트
- gzip
- 쉘 스크립트 기초
- podman
- rhcsa8 시험문제
- Rcity CTF
- Rcity 9번
- 리눅스본딩
- 리눅스 명령어
- 파이썬실습
- 맨탈훈련
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |