programing

도커-허브를 사용하지 않고 도커-이미지를 공유하는 방법?

newsource 2023. 9. 12. 20:03

도커-허브를 사용하지 않고 도커-이미지를 공유하는 방법?

도커의 이미지가 내 로컬 호스트 컴퓨터에 정확히 저장되어 있는지 궁금합니다.사용하지 않고 도커 이미지를 공유할 수 있습니까?Docker-Hub아니면.Dockerfile'진짜' 도커-이미지?도커-이미지를 도커-허브에 '푸시'하면 정확히 무슨 일이 발생합니까?

도커 이미지는 파일 시스템 계층으로 저장됩니다.도커 파일의 모든 명령어는 계층을 만듭니다.다음을 사용하여 레이어를 작성할 수도 있습니다.docker commit몇 가지 변경 후 명령줄에서(를 통해)docker run아마).

이 레이어는 기본적으로 아래에 저장됩니다./var/lib/docker. (이론적으로) 거기서 파일을 선택하여 다른 도커 서버에 설치할 수는 있지만, 도커에서 사용하는 내부 표현을 사용하여 재생하는 것은 아마 좋지 않을 것입니다.

이미지를 누르면 이러한 계층이 레지스트리(다른 레지스트리 접두사로 이미지에 태그를 지정하지 않는 한 기본적으로 도커 허브 레지스트리)로 전송되어 저장됩니다.풀할 때 계층 ID는 계층을 로컬로 이미 가지고 있거나 다운로드해야 하는지 확인하는 데 사용됩니다.사용가능docker history어떤 레이어(다른 이미지)가 사용되는지 확인합니다(그리고 어느 정도까지는 어떤 명령이 레이어를 생성했는지 확인합니다).

도커 허브 레지스트리에 푸시하지 않고 이미지를 공유할 수 있는 옵션의 경우 가장 좋은 옵션은 다음과 같습니다.

  • docker save이미지 혹은docker export용기 한 개이렇게 하면 타르 파일이 표준 출력으로 출력되므로 다음과 같은 작업을 수행할 수 있습니다.docker save 'dockerizeit/agent' > dk.agent.latest.tar. 그러면 사용할 수 있습니다.docker load아니면docker import다른 숙주에서

  • 자신의 개인 등록부를 호스팅합니다. - 구시대적인 의견을 참고하세요. 참조. 도커 레지스트리 이미지. 우리는 그것을 지었습니다. 필요에 따라 시작하고 멈출 수 있는 s3 백업 레지스트리(모든 상태는 선택한 s3 버킷에 유지됨)는 설정이 사소한 것입니다. 이것은 또한 레지스트리로 푸시할 때 발생하는 일을 보는 흥미로운 방법이기도 합니다.

  • quay.io 같은 다른 레지스트리(개인적으로 시도해 본 적은 없지만)를 사용하십시오. 도커 허브에 대한 우려 사항은 여기에도 적용될 수 있습니다.

블로그를 기반으로 다음을 실행하여 도커 레지스트리 없이 도커 이미지를 공유할 수 있습니다.

docker save --output latestversion-1.0.0.tar dockerregistry/latestversion:1.0.0

이 명령이 완료되면 이미지를 서버에 복사하여 다음과 같이 가져올 수 있습니다.

docker load --input latestversion-1.0.0.tar

도커 이미지를 원격 서버로 전송하는 작업은 세 가지 간단한 단계로 수행할 수 있습니다.

  1. 로컬에서 도커 이미지를 .tar로 저장합니다.
docker save -o <path for created tar file> <image name>
  1. 로컬에서 scp를 사용하여 .tar를 원격으로 전송합니다.

  2. 원격 서버에서 이미지를 도커에 로드합니다.

docker load -i <path to docker image tar file>

[업데이트]

최근에는 Amazon AWS ECR(Elastic Container Registry)가 있는데, 이 레지스트리는 AWS IAM 액세스 관리 서비스를 통해 액세스를 제어할 수 있는 도커 이미지 레지스트리를 제공합니다.ECR은 이미지를 푸시할 때 이미지에 대해 CVE(취약성) 검사를 실행할 수도 있습니다.

ECR을 생성하고 "URL"을 얻으면 생성한 권한에 따라 필요에 따라 밀고 당길 수 있으므로 원하는 대로 비공개 또는 공개로 만들 수 있습니다.

가격은 저장된 데이터의 양과 데이터 전송 비용에 따라 결정됩니다.

https://aws.amazon.com/ecr/

[원답]

도커 허브 자체를 사용하지 않으려면 JFrog의 아티팩트 아래에 자신의 도커 저장소를 호스팅할 수 있습니다.

https://www.jfrog.com/confluence/display/RTF/Docker+Repositories

그러면 사용자 자신의 서버에서 실행됩니다.

다른 호스팅 공급업체(예: Core)를 사용할 수 있습니다.OS:

http://www.theregister.co.uk/2014/10/30/coreos_enterprise_registry/

quay.io 을 구입한 사람.

언급URL : https://stackoverflow.com/questions/24482822/how-to-share-my-docker-image-without-using-the-docker-hub