すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Dockerのインストール

最終更新日:Nov 11, 2024

Dockerは、アプリケーションを開発、公開、および実行できるオープンプラットフォームです。 このトピックでは、Elastic Compute Service (ECS) インスタンスにDockerをインストールして使用する方法について説明します。

Dockerのインストール

Alibaba Cloud Linux 3

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo dnf -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Alibaba Cloud Linux専用のDandified YUM (DNF) リポジトリプラグインをインストールします。

    sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  4. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  5. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  6. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

Alibaba Cloud Linux 2

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo yum -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Alibaba Cloud Linux専用のYellowdog Updater Modified (YUM) リポジトリプラグインをインストールします。

    sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
  4. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  5. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  6. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

CentOS 7.x

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo yum -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

CentOS 8.x

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo dnf -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

Ubuntu

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo apt-get update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
      sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
      sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
      sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | apt-key add -
      sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

Debian

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    for pkg in docker.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo apt-get update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
      sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
      sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
      sudo apt-get update
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
      sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian/gpg | apt-key add -
      sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/debian $(lsb_release -cs) stable"
      sudo apt-get update
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

フェドラ

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo dnf -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo dnf -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo dnf config-manager --add-repo=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/fedora/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

Red Hat

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo dnf -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/rhel/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

アナリスOS

最新バージョンのDockerをインストールする前に、docker -vコマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、Dockerおよび関連コンポーネントをアンインストールする必要があります。

旧バージョンのDockerのアンインストール

  1. 次のコマンドを実行して、以前のバージョンのDockerおよび関連ソフトウェアパッケージをアンインストールします。 このコマンドを使用すると、すべてのDocker関連プログラムをアンインストールできます。

    説明

    削除する特定のソフトウェアパッケージがインストールされていないことを求めるメッセージが表示された場合、ソフトウェアパッケージはインストールされていません。

    sudo yum -y remove \
    docker-ce \
    containerd.io \
    docker-ce-rootless-extras \
    docker-buildx-plugin \
    docker-ce-cli \
    docker-compose-plugin
  2. Docker関連のデータを手動で削除します。 Dockerは /var/lib/docker/ ディレクトリに格納されます。 Dockerがアンインストールされても、イメージ、コンテナ、ボリューム、およびネットワークに関する情報は自動的に削除されません。 データが必要ない場合は、手動でデータを削除します。

  1. パッケージ管理ツールを更新します。

    sudo yum -y update
  2. Alibaba Cloudリポジトリをインスタンスに追加します。 このリポジトリには、コマンドを実行してDockerをインストールおよび更新できるDockerソフトウェアパッケージが含まれています。

    • インスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    • インスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (VPC) エンドポイントを使用して、次のコマンドを実行します。

      sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
      sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
  3. Docker Community Edition (Docker-CE) 、containerd.ioという名前のコンテナランタイム、およびDockerビルドおよびオーケストレーションプラグインをインストールします。

    sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  4. Dockerを起動し、システム起動時にDockerデーモンを起動できるようにします。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。

    説明

    systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?

    sudo systemctl start docker
    sudo systemctl enable docker
  5. Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。

    sudo docker -v

    次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。image

シンプルなwebアプリケーションイメージの作成

次の例では、NGINXイメージをベースイメージとして使用して、単純なwebアプリケーションイメージを作成する方法について説明します。

準備

インターネットにアクセスできるインスタンスで、次のdocker pullコマンドを実行して最新のNGINXイメージを取得します。

sudo docker pull nginx:latest

イメージの作成

  1. Dockerfileファイルを作成します。 Dockerfileファイルは、Dockerイメージのビルド方法を定義する特殊なテキストファイルです。 Dockerfileファイルで、Dockerの基本イメージを指定し、基本イメージにインストールするソフトウェアパッケージと構成する設定を指定します。

    sudo touch Dockerfile
  2. コンテンツを追加して、作成したDockerfileファイルを変更します。

    FROM nginx:latest
    RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
  3. Dockerfileファイルを使用してイメージをビルドします。

    sudo docker build . -t hello-world:latest
  4. 新しいイメージに基づいてコンテナを作成し、コンテナにhello-worldという名前を付けます。

    sudo docker run -d -p 80:80 --name hello-world hello-world:latest
  5. イメージが作成されているかどうかを確認します。 curl http:// localhostコマンドを実行します。 こんにちは世界! が返された場合、イメージは期待どおりに作成されます。

よくある質問

Linux ECSインスタンスでdnf config-managerコマンドを実行したときにエラーが発生した場合はどうすればよいですか。

  • 問題の説明: Linux ECSインスタンスでdnf config-managerコマンドを実行すると、次のエラーメッセージが表示されます。

    /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives.
  • 原因: DNFバージョンが古くなっています。

  • 解決策: sudo dnf update dnfコマンドを実行して、DNFパッケージを最新バージョンに更新し、Dockerを再インストールします。

Linux ECSインスタンスでdnf install docker-ceコマンドを実行したときにエラーが発生した場合はどうすればよいですか。

問題の説明1: Linux ECSインスタンスでdnf -y install docker-ceコマンドを実行すると、次のエラーメッセージが表示されます。

(8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success.

原因: キャッシュ内のインストールパッケージが古くなっています。

解決策: sudo dnf clean packagesコマンドを実行して、キャッシュ内のインストールパッケージをクリアし、Dockerを再インストールします。

問題の説明2: Linux ECSインスタンスでdnf -y install docker-ceコマンドを実行すると、次のエラーメッセージが表示されます。

CentOS- Base                                                                                                                         0.0  B/s |   0  B     00:30    
Errors during downloading metadata for repository 'base':
  - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.aliyuncs.com]
  - Curl error (28): Timeout was reached for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Connection timed out after 30000 milliseconds]
  - Curl error (6): Couldn't resolve host name for http://mirror.centos.org/os/BaseOS/x86_64/os/repodata/repomd.xml [Could not resolve host: mirror.cloud.aliyuncs.com]
Error: Failed to download metadata for repo 'base': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

原因: 期限切れのCentOS 8リポジトリが使用されています。

ソリューション: 次の操作を実行して、期限切れのCentOS 8リポジトリをAlibaba Cloudが提供する利用可能なリポジトリに置き換えます。

# Back up the expired repository. 
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# Download the CentOS-Base.repo file provided by Alibaba Cloud to the /etc/yum.repos.d/ directory. 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo
# Replace the repository addresses in the Alibaba Cloud repository with repository addresses that are accessible to the ECS instance. 
sudo sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g' /etc/yum.repos.d/CentOS-Base.repo && sudo sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/CentOS-Base.repo && sudo sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/CentOS-Base.repo
# Clear the existing installation package in the cache and generate a new installation package in the cache based on the repository that you specified. 
sudo yum clean all && sudo yum makecache

上記の操作を実行した後、Dockerを再インストールします。

説明

Alibaba Cloudが提供するリポジトリを使用しない場合は、/etc/yum.repos.d/CentOS-Base.repoファイルで使用できないリポジトリアドレスをコメントアウトし、Dockerを再インストールします。

関連ドキュメント