티스토리 뷰

728x90
반응형

리눅스 기초 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를 생성해보자

    commit -a 옵션으로 이름을 지정

    docker commit  -a 'white study' test_centos  whitestudy/wscentos:1.0

    실행 명령줄은 위와 같다 -a 옵션으로 작성자를 white study로 지정하였다.

    작성자 추가에 white study 가 들어가 있는지 확인해보자. inspect 명령어 사용

    docker image inspect whtiestudy/wscento:1.0

    inspect 명령어로 생성된 이미지를 확인 하면 지정자 가 보인다
    grep 명려어를 붙여 'white study' 만 뽑아 보아도 보인다.

     

     

     


    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_test:1.0 으로 잘 만들어 졌다

    $ 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

     

    이미지 를 tar 로 잘 저장 했다

     

    load 명령어 tar 로 만들어진 이미지를 불러 들일수 있다.

    형식은

    $ docker load [ 옵 션 ][ tar파일명]
    # docker load    -i    tar_achive.tar

     


     

    docker image 만들기 마무리~

    마무리 하기 전에 확인 하고 넘어가야 할것이

    export , import 와 save , load 의 차이가 뭐냐~~~ 라는 생각이 들수 있는데

    export 는 컨테이너를 실행하기 위해 필요하나 모든 파일을 아카이브 하는 것이고

    save 는 이미지의 레이어 구조도 포함된 형태로 압축 하게 되는거다~

     

     

     

    728x90
    반응형
    댓글