サイトアイコン ITC Media

docker pullの基本からオプションの使い方まで実例付で解説

(最終更新月:2023年8月)

✔当記事が対象とするのは以下のような方です

「docker pullの使用方法がわからない」

「docker pullコマンドの書式を知りたい」

「docker pullコマンドの具体的な実行例を見たいと思っている方」

✔当記事でお伝えすること

当記事では、docker pullコマンドの基本の解説からオプションの活用方法に至るまで、具体的な実例を通じて順を追って解説していきます。

ぜひ最後までお読みください。

Docker Pullの基本文法

こちらでは、「Docker Pull」の基本文法について説明します。

docker pullは、Dockerコマンドの中でも頻繁に使われるもののひとつです。

Docker Pullとは

Docker Pullとは、指定したDockerイメージをDocker Hubやそのほかのレジストリからローカル環境へダウンロードするコマンド。

ひとつのコマンドで、特定のソフトウェア環境を手元に用意できます。

docker pull ubuntu

Ubuntuの最新版のDockerイメージを取得します。

コマンドのフォーマット

Docker Pullコマンドの基本的なフォーマットはこちら。

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

構文要素の説明です。

docker pullの主要オプション

Docker Pullコマンドにはいくつかのオプションがあります。

代表的なものは以下のとおりです。

基本的なコマンドの使用例

基本的な使用例を見てみましょう。

以下のコマンドは、Ubuntuのイメージをダウンロードします。

docker pull ubuntu

また、特定のバージョンを指定してダウンロードする場合は、以下のようにタグを使用します。

docker pull ubuntu:18.04

オフィシャルイメージは、以下のようなHubで検索し、ダウンロードしてください。

https://hub.docker.com/_/ubuntu

Docker Pullの深掘り:補足情報

こちらでは、「Docker Pull」の補足情報について説明します。

プロキシの設定や並列ダウンロードの解説など、基本的な使い方を超えた詳細な情報をご覧ください。

プロキシの設定方法

Docker Pullによるイメージnoダウンロードで、プロキシを設定する場合、以下のように設定してください。

/etc/docker/daemon.json

{
 "HTTP_PROXY": "http://proxy.example.com:80/",
 "HTTPS_PROXY": "https://proxy.example.com:443/",
 "NO_PROXY": "*.test.example.com,.example2.com"
}

Dockerの設定ファイルに、HTTP_PROXY, HTTPS_PROXY, NO_PROXYなどの環境変数を設定。

設定後、Dockerデーモンの再起動で、設定が反映されます。

並列ダウンロードの解説

Docker Pullはデフォルトで、イメージの各レイヤーを並列にダウンロードします。

これにより大きなイメージでも、高速にダウンロードが可能です。

ただしこの並列ダウンロードは、ネットワーク帯域を大量に使用するため、環境によってはこの設定を調整してください。

イメージの取得方法と活用

こちらでは、Dockerイメージの取得方法とその活用について詳しく説明します。

DockerHubからのイメージの取得

DockerHubは、Dockerの公式レジストリで、多くの公開イメージがホストされている場所。

基本的なdocker pullコマンドを使うことで、DockerHubからイメージを取得できます。

以下は、Nginxの公開イメージを取得する例です。

docker pull nginx

ダイジェストを使用したイメージの取得

Dockerイメージは、その内容を一意に識別するハッシュ値(ダイジェスト)を持ちます。

このダイジェストを使用して特定のイメージを取得することも可能です。

以下に、ダイジェストを指定してイメージを取得する例を示します。

docker pull nginx@sha256:646614e1310895e26cfb8e82640f2f6640a795c8fd6509c44311406c9a0ef25e

ハッシュ値とは、ある特定のアルゴリズムで計算されたランダム(に見える)文字列。ここでは詳しく説明しませんが、ランダムな文字列がそのイメージ特有の名前になっていることを覚えておきましょう。

異なるレジストリからのイメージの取得

Dockerイメージは、DockerHubだけでなく、ほかのレジストリにもホストされることがあります。

以下はその一部です。

これらのレジストリからイメージを取得する場合、レジストリのURLをイメージ名にプレフィックスとして追加します。

以下ha

以下は、Amazon ECRからイメージを取得する例です。

docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-web-app:latest

特定リポジトリから複数のイメージの取得

特定のリポジトリから複数のイメージを一度に取得することも可能です。

その場合、-aまたは--all-tagsオプションを使用します。

以下は、Ubuntuの全てのタグのイメージを取得する例です。

docker pull -a ubuntu

中断時の対処法と親コマンド

こちらでは、Docker Pullの操作中に何らかの問題が発生した場合の対処法と親コマンドについて説明します。

Docker pullの取得を中止したときの処理方法

Docker pullの操作を途中で中止した場合の動作は以下のとおり。

イメージのダウンロードが中断されても、既にダウンロードされたレイヤーは保存される

再度同じイメージをpullすると、最初からではなく中断した地点からダウンロードが再開されます。

Docker pullの親コマンドについての説明

docker pullは、Dockerの親コマンドであるdockerの子コマンドのひとつです。

ほかの子コマンドには、以下のようなものがあります。

これらのコマンドはdocker pullと組み合わせて使用され、Dockerを使用した開発や運用における重要なツールです。

まとめ

当記事の内容をまとめます。

Dockerは、開発環境を統一するためにとても便利なツール。

そのなかでも、docker pullは非常に使用頻度が高いコマンドです。

いろいろと手を動かしながら、docker pullの便利さを実感して見ましょう。

モバイルバージョンを終了