イメージの導入


画像を生成する場合は、他のドッキングエンジンに配布できる必要があります.

ファイル配布


save、exportなどの方法で画像を単一のファイルに抽出して配布できますが、画像ファイルが大きすぎるか大きすぎてエンジン数が多すぎると、画像をファイルに配布するのは難しいです.
また、ドッキングステーションの画像構造であるレイヤ形式を使用していないため、効率が非常に低い.

ハーブ


ドッキングイメージリポジトリを使用して導入可能
イメージを引っ張りやすい.公開リポジトリは無料で使用されていますが、団結せずに公開リポジトリの数を制限するのが欠点です
基本的に非公開のリポジトリは1つだけ無料で、もっと使いたいなら毎月一定の保険料を払わなければなりません.
docker inspectコマンドを使用して、イメージが非CPUアーキテクチャで使用されるように設定されているかどうかを確認します.docker pullなどのコマンドを使用すると、ホストCPUアーキテクチャに対応するイメージを自動的に取得できるので、心配する必要はありません.
EX)リポジトリに画像をアップロード(プッシュ)
// 레포지터리에 올릴 이미지를 commit_container1를 사용하여 생성
$ docker run -it --name commit_container1 ubuntu:14.04
$ docker commit commit_container1 my-image-name:0.0

// 컨테이너를 이미지로 만들때 이미지 이름의 접두어는 이미지가 저장되는 저장소 이름으로 설정
// 즉, 특정 이름의 저장소에 이미지를 올리려면 저장소 이름(사용자의 이름)을 이미지 앞에 접두어로 추가해야 한다.
// my-image-name:0.0 <=> ${repository}:${tag}

// docker tag 명령어를 사용하면 이미지의 이름을 추가할 수 있다.
// docker tag [기존의 이미지 이름] [새롭게 생성될 이미지 이름]
$ docker tag my-image-name:0.0 mohadang-kim/my-image-name:0.0
$ docker images
REPOSITORY                   TAG       IMAGE ID       CREATED              SIZE
my-image-name                0.0       96bd64ec6a40   About a minute ago   197MB
mohadang-kim/my-image-name   0.0       96bd64ec6a40   About a minute ago   197MB

// docker hub에 로그인
$ docker login

// push
$ docker push mohadang-kim/my-image-name:0.0
ドッキングエンジンからログインした情報は、/アカウント名/です.docker/config.jsonファイルに保存します.ログイン情報を削除する場合はdocker logoutを入力します.

ドッキング専用レジストリ


社内ネットワークなどにトークンイメージを導入する必要がある場合は、トークン専用レジストリがより良い方法になります.しかし、詳細な設定が必要なものがあるため、ダックセンターよりも複雑に使用されています.
レジストリコンテナは基本的に5000番ポートを使用します
EX)画像をDisk Library(push)にアップロードする
// 레지스트리는 컨테이너로서 구현되므로 이에 해당하는 도커 이미지가 존재한다.
// --restart 옵션은 컨테이너가 종료됐을 때 재시작에 대한 정책을 설정, 
// always는 컨테이너가 정지될 때마다 다시 시작하도록 설정하기 때문에 
// 도커 호스트나 도커 엔진을 재시작하면 컨테이너도 함께 재시작된다.
// on-failure:5로 설정하면 컨테이너 종료 코드가 0이 아닐 때 컨테이너 재시작을 5번까지 시도
// unless-stopped는 컨테이너를 stop 명령어로 정지했다면 
// 도커 호스트나 도커 엔진을 재시작해도 컨테이너가 시작되지 않도록 설정
$ docker run -d --name myregistry -p 5000:5000 --restart=always registry:2.6

// 사설 레지스트리에 올리기 위해 레지스트리가 존재하는 호스트의 IP와 
// 컨테이너의 5000번 포트와 연결된 호스트의 포트로 설정
$ docker tag my-image-name:0.0 ${DOCKER_HOST_IP}:5000/my-image-name:0.0

// 사설 레지스트리에 push
$ docker push 192.168.99.101:5000/my-image-name:0.0
基本的に、ドッキングデーモンはHTTPSを使用していないレジストリコンテナにアクセスできません.HTTPSを使用するには、証明書を個別に設定する必要があります.
もちろんHTTPSを使わずにレジストリにアップロードできる方法もあります

専用レジストリRESTful API


ドックエンジンはdocker psなどのコマンドをコマンドラインツールとして使用することができるが、レジストリコンテナは個別のインタフェースを提供しないため、レジストリコンテナを制御するにはRESTful APIを使用する必要がある.
EX)
// 컨테이너에 저장된 이미지의 목록을 확인
$ cur 192.168.99.100:500/v2/_catalog
// 특정 이미지의 태그 리스트를 확인
$ cur 192.168.99.100:500/v2/my-image-name/tags/list