docker push
説明
レジストリにイメージやリポジトリを :ruby:`送信 <push>` します。
使い方
$ docker push [OPTIONS] NAME[:TAG]
補足説明
docker push を使うと、イメージを Docker Hub レジストリや、自分で作成したレジストリで共有できるようになります。
有効なイメージ名とタグ名についての詳しい情報は、 docker image tag リファレンスを参照してください。
docker image push プロセスを停止するには、ターミナルで実行中に CTRL-c を押すと、push 処理を中断します。
docker push 中に表示する :ruby:`プログレス・バー <progress bar>` (進捗状況を表示)は、非圧縮の容量を示します。実際のデータは、送信前に圧縮しますので、アップロード済み容量がプレグレス・バーに反映しない場合があります。
レジストリの認証情報は docker login で管理します。
並列アップロード
デフォルトの Docker デーモンは、同時に5つのイメージレイヤを送信します。ネットワーク帯域幅が狭くてタイムアウトを引き起こす場合は、デーモンのオプション --max-concurrent-uploads によって、この数を減らせます。詳細は デーモンのドキュメント をご覧ください。
コマンドの使用例は、以下の 使用例のセクション をご覧ください。
オプション
名前, 省略形 |
デフォルト |
説明 |
|---|---|---|
|
リポジトリにあるタグ付きイメージを全て送信 |
|
|
|
イメージ検証を省略 |
|
冗長な出力をしない |
使用例
新しいイメージをレジストリに :ruby:`送信 <push>`
始めに新しいイメージに保存するため、コンテナ ID を探して( docker container ls を使います)、それから、このコンテナを新しいイメージ名にコミットします。イメージ名に使えるのは a-z0-9-Z. のみなので、気を付けます。
$ docker container commit c16378f943fe rhel-httpd:latest
それから、イメージ ID を使ってレジストリにイメージを送信します。この例では、レジストリのホスト名は registry-host で、ポート 5000 をリッスンしています。ここに送信するためには、イメージのタグに対し、ホスト名や IP アドレス、レジストリのポート番号を追加します。
$ docker image tag rhel-httpd:latest registry-host:5000/myadmin/rhel-httpd:latest
$ docker image push registry-host:5000/myadmin/rhel-httpd:latest
これが正しく動作しているかどうかを確認しましょう。
$ docker image ls
一覧に rhel-httpd と registry-host:5000/myadmin/rhel-httpd の両方が見えるでしょう。
親コマンド
コマンド |
説明 |
|---|---|
Docker CLI の基本コマンド |