Docker: Docker 이미지에는 무엇이 포함되어 있나요? 저장된 이미지를 컴퓨터 간에 전달하려면 소스 코드와 함께 전달해야 합니까?

Docker: Docker 이미지에는 무엇이 포함되어 있나요? 저장된 이미지를 컴퓨터 간에 전달하려면 소스 코드와 함께 전달해야 합니까?

한 컴퓨터에서 생성된 이미지를 복사하고 해당 이미지를 다른 컴퓨터에 복사했습니다. (docker 이미지는 docker save -o [images.tar] 명령을 사용하여 저장됩니다.)

그런 다음 다른 컴퓨터에서 docker loader 명령을 사용합니다. 이러한 이미지를 실행하려면 소스 코드, Dockerfile, docker-compose.yml 파일을 이미지와 함께 전달해야 합니까?

답변1

Dockerfile은 이미지를 생성하는 데 사용되는 지침입니다. 해당 이미지가 생성되면 다른 사람들이 Dockerfile 없이 이미지를 실행할 수 있습니다.

이미지 자체에는 바이너리, 라이브러리, 스크립트 등 애플리케이션을 실행하기 위한 모든 구성 요소가 포함되어야 합니다(JavaScript와 같이 해석된 언어가 있는 경우 이는 소스 코드입니다).

docker-compose.yml은 이미지를 실행하는 방법에 대한 구성입니다. 여기에는 포트를 게시할 위치, 이미지 자체 내부에 들어가지 않는 볼륨을 마운트하는 방법과 같은 설정이 포함됩니다.


따라서 이미지를 복사한 경우 실행하는 데 필요한 것은 docker-compose.yml뿐입니다.


저장/로드를 통해 이미지를 전송하는 것은 권장하지 않습니다. 이미 배송된 동일한 레이어가 다시 전송되는 것을 볼 수 있습니다. 대신 연결이 끊긴 환경에서도 레지스트리 서버를 사용할 수 있습니다.자신의 레지스트리 실행. 이렇게 하면 어떤 레이어가 새로운지 추적하고 이미지에 사용되는 디스크 공간을 줄이는 것 외에도 전송 속도를 높일 수 있습니다.

관련 정보