컨테이너에서 Docker 이미지를 생성하는 방법

Keonteineoeseo Docker Imijileul Saengseonghaneun Bangbeob



Docker 이미지는 Docker 플랫폼의 주요 구성 요소 중 하나이며 컨테이너 내부에서 Docker 애플리케이션을 구축, 배포 및 전달하는 데 필수적인 역할을 합니다. Docker 이미지는 애플리케이션을 컨테이너화하고 배포하는 방법을 컨테이너에 지시하는 컨테이너의 템플릿 또는 스냅샷입니다. 애플리케이션을 컨테이너화하기 위해 Docker Hub 레지스트리에서 수천 개의 공식 이미지를 사용할 수 있습니다. 그러나 사용자는 Dockerfile 및 Docker compose 서비스를 사용하여 요구 사항에 따라 이러한 이미지를 생성할 수도 있습니다.

경우에 따라 사용자가 컨테이너 및 구성 설정을 변경하지만 이러한 변경 사항은 Docker 이미지에 커밋되지 않습니다. 컨테이너 변경 사항을 이미지에 저장하거나 컨테이너 백업을 생성하려면 사용자가 컨테이너에서 새 이미지를 빌드해야 합니다. 특정 목적을 위해 “ 도커 커밋 ' 명령을 활용할 수 있습니다.

이 가이드에서는 다음을 보여줍니다.







'docker commit' 명령이 무엇인가요?

도커 커밋 ” 명령은 컨테이너 변경 사항 및 설정을 Docker 이미지에 커밋하는 데 사용되는 Docker의 명령줄 유틸리티 중 하나입니다. 또한 사용자가 Docker 컨테이너를 제거하여 Docker를 정리해야 할 때 컨테이너 백업을 생성하는 데에도 사용됩니다. 그러나 docker commit 명령에는 Docker 이미지의 컨테이너 파일과 구성 변경 사항만 포함되며, 컨테이너에 탑재된 볼륨의 데이터는 저장되지 않습니다.



통사론



도커 커밋 < 옵션 > < 컨테이너 이름 / 컨테이너 ID > < 이미지 이름 >

옵션





다음 옵션은 '와 함께 사용됩니다. 도커 커밋 ” 명령을 사용하여 다양한 방법으로 컨테이너에서 이미지를 생성합니다.

< 강한 > 옵션 강한 > TD >
< TD >< 강한 > 설명 강한 > TD >
tr >
< tr >
< TD >< 강한 > -ㅏ, --작가 강한 > TD >
< TD > 컨테이너의 변경 사항을 커밋하는 작성자의 이름을 지정하는 데 사용됩니다. ~에 이미지. TD >
tr >
< tr >
< TD >< 강한 > -씨, --변화 강한 > TD >
< TD > Dockerfile 지침을 추가하여 변경 사항을 커밋합니다. ~에 이미지. TD >
tr >
< tr >
< TD >< 강한 > -m, --메시지 강한 > TD >
< TD > 커밋 메시지나 댓글을 추가하세요. ~하는 동안 컨테이너에서 이미지를 생성합니다. TD >
tr >
< tr >
< TD >< 강한 > -p, --pause 강한 > TD >
< TD > 컨테이너를 커밋하는 동안 기본적으로 컨테이너는 중지되거나 일시 중지됩니다. 컨테이너가 일시 중지되는 것을 중지하려면 “ < 강한 > --pause= 거짓 강한 > ” 옵션이 사용됩니다.

Docker 컨테이너에서 이미지를 생성하는 방법은 무엇입니까?

사용자가 컨테이너 셸을 통해 직접 또는 비대화형으로 Docker 컨테이너를 변경하는 경우 이러한 변경 사항은 컨테이너 스냅샷을 수정하지 않습니다. 수정 사항을 저장하거나 커밋하기 위해 사용자는 '를 사용하여 컨테이너에서 새 이미지를 생성할 수 있습니다. 도커 커밋 ' 명령. 이는 컨테이너의 백업을 생성하는 데에도 유용합니다.

Docker 컨테이너를 통해 이미지를 생성하려면 다음 그림을 따르세요.

1단계: Dockerfile 만들기

먼저 '라는 이름의 새 파일을 만듭니다. 도커파일 ” 파일 이름과 함께 파일 확장자를 추가하지 마십시오. 그런 다음 'Dockerfile'에 다음 명령을 붙여넣습니다.

nginx에서:최신

복사 index.html / 우리 / 공유하다 / nginx / HTML / index.html

진입 지점 [ 'nginx' , '-g' , '데몬 꺼짐;' ]

여기서는 “ 에서 ” 명령은 컨테이너 기본 이미지를 정의하는 데 사용됩니다. 복사 ' 명령은 프로그램 파일을 컨테이너가 지정한 경로에 복사하고 ' 진입 지점 ” 명령은 컨테이너의 기본 실행 파일을 설정합니다.

2단계: 프로그램 파일 만들기

다음으로 다른 파일을 만듭니다. index.html ”를 입력하고 다음 HTML 코드를 파일에 추가합니다.

< HTML >

< 머리 >

< 스타일 >

{

배경색:rgb ( 9 , 4 , 4 ) ;

}

h1 {

색상: RGB ( 221 , 219 , 226 ) ;

글꼴 스타일: 기울임체;

}

스타일 >

머리 >

< >

< h1 > 이것은 첫 번째 HTML 페이지입니다. h1 >

>

HTML >

3단계: 컨테이너의 스냅샷 구축

이제 아래 명령을 사용하여 Dockerfile에서 컨테이너의 스냅샷을 생성합니다. 여기서는 “ -티 ” 옵션은 스냅샷의 이름을 설정하는 데 사용됩니다.

도커 빌드 -티 데모-img .

4단계: 스냅샷을 실행하여 컨테이너 시작

다음으로 컨테이너 이미지를 실행하여 컨테이너를 시작합니다. 이를 위해 “ docker run <스냅샷 이름> ' 명령:

도커 실행 -피 80 : 80 --이름 데모 계속 -디 데모 이미지

위 명령에서 ' -피 ” 옵션은 컨테이너의 노출 포트를 설정합니다. “ -이름 ”는 컨테이너 이름을 지정하고 “ -디 ” 옵션은 컨테이너를 분리 모드로 실행합니다.

컨테이너를 실행한 후 ' http:/localhost:80 ” URL을 입력하고 노출 포트에서 컨테이너화된 프로그램에 액세스할 수 있는지 확인합니다.

위 출력은 컨테이너가 성공적으로 시작되었음을 보여줍니다.

5단계: 새 프로그램 파일 만들기

때로는 사용자가 실행 중인 애플리케이션에 추가 기능을 추가해야 할 수도 있습니다. 이를 위해 사용자는 프로그램 파일을 변경해야 하거나 응용 프로그램에 추가 파일을 추가해야 할 수도 있습니다.

이를 위해 '라는 이름의 다른 파일을 만들어 보겠습니다. index1.html ”를 입력하고 다음 코드를 파일에 붙여넣습니다.

< HTML >

< 머리 >

< 스타일 >

{

배경색:rgb ( 106 , 103 , 103 ) ;

}

h1 {

색상: RGB ( 221 , 219 , 226 ) ;

글꼴 스타일: 기울임체;

}

스타일 >

머리 >

< >

< h1 > 이것은 두 번째 HTML 페이지입니다. h1 >

>

HTML >

6단계: 컨테이너에 새 프로그램 파일 복사

새 파일을 컨테이너 경로에 복사하려면 ' docker cp <파일 이름> :<컨테이너 대상 경로> ' 명령. 여기서는 ' index1.html ' 파일을 ' 데모 계속 ” 컨테이너의 지정된 경로:

도커 CP index1.html 데모 계속: / 우리 / 공유하다 / nginx / HTML / index1.html

7단계: 새 이미지에서 컨테이너 변경 사항 커밋

컨테이너를 변경한 후 사용자는 변경 사항을 새 Docker 이미지에 커밋해야 합니다. 이 이미지는 Docker 컨테이너를 통해 생성됩니다. 이를 위해 ' docker commit ' 명령:

docker commit 데모-cont new-demo-img

메모: '를 통해 이미지를 생성하기 전에 Docker 컨테이너에서 변경합니다. 도커 커밋 ” 명령은 필수가 아닙니다. 사용자는 'docker commit'을 직접 사용하여 이미지를 생성하여 컨테이너의 백업을 생성할 수 있습니다.

8단계: 확인

컨테이너를 통해 이미지가 생성되었는지 확인하려면 ' 도커 이미지 ' 명령:

도커 이미지

아래 출력은 '를 성공적으로 생성했음을 보여줍니다. 새로운 데모 이미지 ' 에서 ' 데모 계속 ” 컨테이너:

메모: Docker 이미지를 Docker 허브 레지스트리에 푸시하기 위해 사용자는 '를 사용하여 이미지에 태그를 지정할 수도 있습니다. 도커 태그 ' 명령:

도커 태그 < 이미지 이름 > < 저장소 이름 >>< 이미지 이름 > : < 꼬리표 / 버전 >

9단계: 기존 컨테이너 제거

이제 이전 컨테이너를 제거합니다. 이를 위해 먼저 '를 사용하여 Docker 컨테이너를 중지합니다. docker stop <컨테이너 이름> ' 명령:

docker stop 데모 계속

컨테이너를 정지한 후 “ docker rm <컨테이너 이름/컨테이너 ID> Docker에서 제거하는 명령:

도커 RM 데모 계속

10단계: 새로 커밋된 이미지에서 새 컨테이너 실행

이제 '를 통해 새로 생성된 이미지를 사용하여 새 인스턴스 또는 Docker 컨테이너를 시작합니다. 도커 실행 ' 명령:

도커 실행 -피 80 : 80 --이름 데모 계속 -디 새로운 데모 이미지

이제 ' 로컬호스트:80 ” 포트를 실행하고 HTML 애플리케이션이 효과적으로 실행되고 있는지 확인합니다.

새로 복사된 파일을 확인하려면 “ index1.html ”, “를 활용 http://localhost/index1.html ” URL:

위 출력은 커밋된 변경 사항이 ' 새로운 데모 이미지 ” Docker 이미지를 수정하고 수정된 컨테이너를 효과적으로 실행했습니다.

이미지 작성자를 설정하는 방법은 무엇입니까?

도커 커밋 ” 명령은 새 변경 사항 작성자, 커밋 메시지 등과 같은 커밋된 변경 사항과 함께 추가 정보를 추가하는 다양한 옵션도 지원합니다.

새로운 변경 사항을 커밋하는 이미지 작성자를 지정하려면 지정된 단계를 수행하세요.

1단계: 이미지 작성자 설정

변경 중인 이미지 작성자를 지정하려면 ' -ㅏ ' 또는 ' -작가 ” 옵션과 “ 도커 커밋 ' 명령:

도커 커밋 -ㅏ 라피아 데모-계속 새로운-데모-img

2단계: 이미지 검사

이미지 작성자가 설정되어 있는지 확인하려면 새로 생성된 이미지를 ' docker 검사 <이미지 이름> ' 명령:

docker는 new-demo-img를 검사합니다.

출력은 이미지 작성자를 효과적으로 설정했음을 보여줍니다.

이미지의 커밋 메시지를 설정하는 방법은 무엇입니까?

커밋 변경 사항과 함께 커밋 메시지를 설정하려면 ' -중 ' 옵션. 예시를 보려면 아래 지침을 따르세요.

1단계: 이미지의 커밋 메시지 설정

커밋된 변경 사항과 함께 메시지를 설정하려면 ' docker commit -m <“메시지”> ' 명령:

도커 커밋 -ㅏ 라피아 -중 '이 이미지는 컨테이너에 의해 생성되었습니다.' 데모 계속 새로운 데모 이미지

2단계: 이미지 검사

커밋 메시지를 확인하려면 “ docker 검사 <이미지 이름> ' 명령:

docker는 new-demo-img를 검사합니다.

아래의 ' 논평 ” 키를 누르면 사용자는 아래와 같은 커밋 메시지를 볼 수 있습니다.

컨테이너에서 Docker 이미지를 생성하는 것이 전부입니다.

결론

컨테이너에서 Docker 이미지를 생성하려면 먼저 Docker 컨테이너에서 변경을 수행합니다. 그 후 “ docker commit ” 명령을 사용하여 컨테이너에서 이미지를 생성합니다. 이제 이전 컨테이너를 제거하고 새로 생성된 이미지를 통해 새 인스턴스를 시작합니다. 사용자는 '를 사용하여 이미지의 작성자 이름을 설정할 수도 있습니다. -ㅏ ” 옵션을 선택하고 “를 사용하여 메시지를 커밋합니다. -중 ' 옵션. 이 블로그에서는 Docker 컨테이너에서 이미지를 생성하는 방법을 설명했습니다.