먼저 docker save와 docker import를 각각 설명하겠습니다.
docker save
docker의 명령줄 인터페이스는 매우 우아하게 디자인되었으며, --help를 추가하면 많은 명령의 도움말을 직접 볼 수 있습니다. 끝.
docker save의 도움말은 다음과 같습니다.
>docker save --help Usage: docker save [OPTIONS] IMAGE [IMAGE...] Save one or more images to a tar archive (streamed to STDOUT by default) Options: --help Print usage -o, --output string Write to a file, instead of STDOUT
명령줄 도움말에서 볼 수 있듯이 docker save는 하나 이상의 이미지를 패키징하고 저장하는 데 사용되는 도구입니다.
예를 들어, 이미지 라이브러리에 postgres와 mongo를 패키징하려는 경우 다음을 실행할 수 있습니다.
docker save -o images.tar postgres:9.6 mongo:3.4
패키지된 Images.tar에는 postgres:9.6과 mongo:3.4의 두 이미지가 포함되어 있습니다.
명령줄 매개변수에는 이미지 지정이 필요하지만 컨테이너는 실제로 패키징될 수 있습니다. 예:
>docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3623943d369f postgres:9.6 "docker-entrypoint..." 3 hours ago Up 3 hours 5432/tcp postgres >docker save -o b.tar postgres >docker save -o c.tar postgres:9.6 >ls -al -rwxrwxrwx 1 root root 277886464 8月 26 14:40 b.tar -rwxrwxrwx 1 root root 277886464 8月 26 14:41 c.tar
위 명령에서 볼 수 있듯이 b.tar와 c.tar는 완전히 동일합니다. 이는 docker save가 컨테이너를 지정하는 경우 docker save가 컨테이너 뒤에 이미지를 저장한다는 것을 보여줍니다.
docker load를 사용하여 패키지된 이미지를 로드합니다. 예:
docker load -i images.tar
위 명령은 postgres:9.6 및 mongo:3.4를 로드합니다. 이 두 이미지가 로컬 이미지 라이브러리에 이미 있는 경우 해당 이미지가 포함됩니다.
docker save의 애플리케이션 시나리오는 애플리케이션이 docker-compose.yml을 사용하여 배열된 여러 이미지의 조합이지만 배포하려는 클라이언트 서버가 외부 네트워크에 연결할 수 없는 경우입니다. 이때, docker save를 이용하여 사용된 이미지를 패키징한 후 클라이언트 서버에 복사한 후 docker load를 이용하여 로드할 수 있습니다.
dockerexport
평소처럼 dockerexport의 도움말을 확인하세요:
>docker export --help Usage: docker export [OPTIONS] CONTAINER Export a container's filesystem as a tar archive Options: --help Print usage -o, --output string Write to a file, instead of STDOUT
도움말에서 볼 수 있듯이 dockerexport는 컨테이너의 파일 시스템을 패키징하는 데 사용됩니다. 예:
docker export -o postgres-export.tar postgres
docker 내보내기는 컨테이너를 지정해야 하며 docker save와 같은 이미지나 컨테이너를 지정할 수 없습니다.
docker import를 사용하여 패키지된 컨테이너를 로드합니다. 예:
docker import postgres-export.tar postgres:latest
위 명령에서 볼 수 있듯이 docker import가 컨테이너를 가져온 후 컨테이너로 돌아가는 대신 이미지가 됩니다.
또 다른 점은 docker import가 IMAGE[:TAG]를 지정할 수 있다는 점입니다. 즉, 이미지에 새 이름을 지정할 수 있다는 의미입니다. 동일한 이름의 이미지가 로컬 이미지 라이브러리에 이미 존재하는 경우 원본 이미지의 이름이 제거되어 새 이미지에 할당됩니다. 원본 이미지는 유령이 되며 IMAGE ID를 통해서만 작동할 수 있습니다.
Docker 내보내기의 응용 시나리오는 주로 기본 이미지를 만드는 데 사용됩니다. 예를 들어 우분투 이미지에서 컨테이너를 시작한 다음 일부 소프트웨어를 설치하고 몇 가지 설정을 지정한 다음 docker 내보내기를 사용하여 기본 이미지로 저장합니다. . 그런 다음 기본 개발 환경 등의 사용을 위해 이 이미지를 다른 사람에게 배포합니다.
docker save와 docker import의 차이점
docker save는 이미지(image)를 저장하고, docker import는 컨테이너(container)를 저장합니다.
docker load는 이미지 패키지를 로드하는 데 사용되며, docker import는 컨테이너 패키지를 로드하는 데 사용되지만 둘 다 이미지로 되돌아갑니다.
docker load는 로드된 이미지의 이름을 바꿀 수 없지만 docker import는 이미지의 새 이름을 지정할 수 있습니다.
추천 튜토리얼: docker
위 내용은 도커 저장과 도커 내보내기의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!