반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- aws #engineer
- multivm
- container
- httpd실행
- devops #engineer
- 도커
- k8s
- springboot
- WEB
- 파이썬
- docker
- java
- python
- 쿠버네티스
- Engineer
- RSS
- mongodb operator
- namespace
- nginx
- devops #jenkins
- bash
- Kubernetes
- variable
- 컨테이너
- linux
- DOIK
- Strimzi
- Vagrant
- 초간단파이썬
- ioredirection
Archives
- Today
- Total
샤인의 IT (막 적는) 메모장
[Docker] 이미지 태깅 및 압축 파일 만들기 본문
반응형
도커 이미지 및 가동된 컨테이너를 tar 파일로 만드는 법에 대해 알아보겠습니다.
보통 실무에서는 해당 이미지를 빌드해서 tar 파일로 압축해서 해당 서버에 올리는 작업을 수행합니다.
이미지를 압축하는 방법은 두가지로 분류되는데
이미지
실행중인 컨테이너
두가지를 압축할 수 있습니다.
압축을 실행하기에 앞서 해당 이미지를 Tagging하는 작업이 우선적으로 필요합니다.
이미지 태깅
#Image Tag
docker tag nginx:1.14 nginx:v1
[root@docker docker]# docker tag nginx:1.14 nginx:v1
[root@docker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14 295c7be07902 24 months ago 109MB
nginx v1 295c7be07902 24 months ago 109MB
이미지 태깅 작업을 수행하게 되면 기존 태깅과 다른 리스트를 확인할 수 있습니다. (IMAGE ID는 같습니다)
이미지 압축 파일 생성
태깅작업을 수행한 후 해당 이미지를 tar파일로 저장합니다.
Docker Save, Load 명령어를 수행합니다.
docker image save nginx:v1 -o nginxv1.tar
docker load -i nginxv1.tar
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14 295c7be07902 24 months ago 109MB
[root@docker home]# docker tag nginx:1.14 nginx:v1
[root@docker home]# docker save nginx:v1 -o nginxv1.tar
[root@docker home]# docker rmi -f nginx:v1
Untagged: nginx:v1
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14 295c7be07902 24 months ago 109MB
[root@docker home]# docker load -i nginxv1.tar
Loaded image: nginx:v1
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14 295c7be07902 24 months ago 109MB
nginx v1 295c7be07902 24 months ago 109MB
[root@docker home]#
컨테이너 압축 파일 생성
컨테이너 압축 파일은 현재 실행되고 있는 컨테이너를 tar파일로 저장합니다.
Docker Export, Import 명령어를 수행합니다.
Export와 Import는 해당 컨테이너를 이미지화 하기 때문에 이미지를 올린 후에 태깅 작업을 수행합니다.
docker export my-fore-web -o myforeweb.tar
docker import myforeweb.tar
[root@docker home]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87935ee2e89d nginx:1.14 "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 80/tcp my-back-web
0114390fe3f6 nginx:1.14 "/bin/bash" 4 minutes ago Exited (0) 4 minutes ago my-fore-web
[root@docker home]# docker export my-fore-web -o myforeweb.tar
[root@docker home]# docker import myforeweb.tar
sha256:f75aacd5c73d9005fd2e93d847aeb179370f47f372a96ca82fe60123d5174770
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> f75aacd5c73d 2 seconds ago 107MB
nginx 1.14 295c7be07902 24 months ago 109MB
nginx v1 295c7be07902 24 months ago 109MB
[root@docker home]# docker tag f75aacd5c73d nginx:v11
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v11 f75aacd5c73d 25 seconds ago 107MB
nginx 1.14 295c7be07902 24 months ago 109MB
nginx v1 295c7be07902 24 months ago 109MB
혹은 실행중인 컨테이너를 Commit 명령어를 통해 이미지를 만들 수 있습니다.
docker commit my-fore-web nginx:ver
[root@node1 ~]# docker commit my-fore-web nginx:ver
sha256:df6b881350d95c2e1b6ae0303a7927c2acb299716713bac506945d399dc199a2
[root@node1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx ver df6b881350d9 5 seconds ago 183MB
이미지와 컨테이너 두 방법 모두 사용 가능하나 보통의 경우는 이미지를 올려서 태깅작업하고 tar로 추출하는 방법을 주로 사용하고 있습니다.
Good Day!
반응형
'Container > Docker' 카테고리의 다른 글
[Docker] Dockerfile 작성 (0) | 2021.03.26 |
---|---|
[Docker] Docker Registry (0) | 2021.03.25 |
[Docker] 도커 이미지 이해와 기본 명령어 (0) | 2021.03.24 |
[Docker] 도커 설치 (0) | 2021.03.23 |
[Docker] What is Docker? (0) | 2021.03.23 |
Comments