Dockerは、アプリケーションを開発、公開、および実行できるオープンプラットフォームです。 このトピックでは、Elastic Compute Service (ECS) インスタンスにDockerをインストールして使用する方法について説明します。
Dockerのインストール
Alibaba Cloud Linux 3
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo dnf -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Alibaba Cloud Linux専用のDandified YUM (DNF) リポジトリプラグインをインストールします。
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
Alibaba Cloud Linux 2
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo yum -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Alibaba Cloud Linux専用のYellowdog Updater Modified (YUM) リポジトリプラグインをインストールします。
sudo yum install yum-plugin-releasever-adapter --disablerepo=* --enablerepo=plus
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
CentOS 7.x
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo yum -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
CentOS 8.x
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo dnf -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
Ubuntu
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo apt-get update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
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 | sudo 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"
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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 | sudo 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"
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
Debian
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo apt-get update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
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 | sudo 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
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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 | sudo 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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
フェドラ
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo dnf -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
Red Hat
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo yum -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
アナリスOS
最新バージョンのDockerをインストールする前に、docker -v
コマンドを実行して現在のDockerバージョンを照会します。 コマンドが使用できないことをコマンド出力が示す場合、Dockerはインストールされません。 以前のバージョンのDockerをインストールした場合は、まずDockerおよび関連コンポーネントをアンインストールする必要があります。
パッケージ管理ツールを更新します。
sudo yum -y update
ECSインスタンスにAlibaba Cloudリポジトリを追加します。 リポジトリにはDockerソフトウェアパッケージが含まれており、コマンドを実行してDockerをインストールおよび更新できます。
重要この手順をスキップすると、ネットワーク上の理由でDockerのインストールに失敗する可能性があります。
ECSインスタンスがインターネットにアクセスできる場合は、次のコマンドを実行します。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ECSインスタンスがインターネットにアクセスできない場合は、仮想プライベートクラウド (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
Docker Community Edition (Docker-CE) 、containerd.ioコンテナランタイム、およびDocker BuildおよびComposeプラグインをインストールします。
説明Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose version
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerを起動し、システム起動時に起動するようにDockerデーモンを設定します。 これにより、システムが起動するたびにDockerサービスが自動的に起動します。
説明systemctlコマンドの実行時にエラーが発生した場合は、エラーのトラブルシューティングを行います。 詳細については、「」をご参照ください。Linuxインスタンスでsystemctlコマンドを実行したときにエラーが発生した場合はどうすればよいですか?
sudo systemctl start docker sudo systemctl enable docker
Dockerのバージョンを照会して、Dockerがインストールされているかどうかを確認します。
sudo docker -v
次のコマンド出力が返された場合、DockerがECSインスタンスにインストールされます。
シンプルなwebアプリケーションイメージの作成
次の例では、NGINXイメージをベースイメージとして使用して、単純なwebアプリケーションイメージを作成する方法について説明します。
準備
インターネットにアクセスできるインスタンスで、次のdocker pull
コマンドを実行して最新のNGINXイメージを取得します。
sudo docker pull nginx:latest
イメージの作成
Dockerfile
ファイルを作成します。Dockerfile
ファイルは、Dockerイメージのビルド方法を定義する特殊なテキストファイルです。 Dockerfileファイルで、Dockerの基本イメージを指定し、基本イメージにインストールするソフトウェアパッケージと構成する設定を指定します。sudo touch Dockerfile
コンテンツを追加して、作成した
Dockerfile
ファイルを変更します。FROM nginx:latest RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
Dockerfileファイルを使用してイメージをビルドします。
sudo docker build . -t hello-world:latest
新しいイメージに基づいてコンテナを作成し、コンテナに
hello-world
という名前を付けます。sudo docker run -d -p 80:80 --name hello-world hello-world:latest
イメージが期待どおりに実行されるかどうかを確認します。
curl http:// localhost
コマンドを実行します。こんにちは世界!
が返されると、イメージは期待どおりに実行されます。
Docker Composeの使用
Docker Composeは、複数のコンテナを定義および実行するためにDockerチームによって開発されたオープンソースのコンテナーオーケストレーションツールです。 Docker Composeでは、YAMLファイルを使用してアプリケーションのサービスを設定し、docker compose
コマンドを実行してYAMLファイルの設定を解析し、設定に基づいてすべてのサービスを作成して開始します。 Docker Composeは、O&Mコストの削減とデプロイ効率の向上に役立ちます。
Docker Composeの詳細については、「Docker Compose」をご参照ください。
Docker Composeのインストール
このトピックで説明されている操作を実行してDockerをECSインスタンスにインストールすると、Docker Composeプラグインがインスタンスに自動的にインストールされます。 次のコマンドを実行して、Docker Composeのバージョンを照会します。
sudo docker compose version
期待される出力: Docker ComposeバージョンvN.N.N
。v N.N.NはDocker Composeのバージョンを示します。
Docker ComposeプラグインがECSインスタンスにインストールされていない場合、またはスタンドアロンのDocker Composeを使用する場合は、次の手順を実行します。
スタンドアロンのDocker Composeを使用する場合は、コマンドでdockerとcomposeの間にハイフン (-) を入力します。 サンプルコマンド:
docker-compose up
Docker Compose部品を使用する場合は、dockerとcomposeの間にハイフン (-) をコマンドに入力しないでください。 サンプルコマンド:
docker compose up
Docker Composeプラグイン
Docker Composeプラグインをインストールします。
説明Docker Composeプラグインのインストール時に問題が発生した場合は、ECSインスタンスにAlibaba Cloudリポジトリを追加する必要があります。 Alibaba Cloudリポジトリの追加方法については、「ECSインスタンスへのAlibaba Cloudリポジトリの追加」をご参照ください。
Alibaba Cloud Linux 3、CentOS 8.x、またはFedora:
sudo dnf -y install docker-compose-plugin
UbuntuまたはDebian:
sudo apt-get -y install docker-compose-plugin
Alibaba Cloud Linux 2、CentOS 7.x、Red Hat、またはAnolis OS:
sudo yum -y install docker-compose-plugin
Docker Composeのバージョンを照会して、Docker Composeプラグインがインストールされているかどうかを確認します。
sudo docker compose version
期待される出力:
Docker ComposeバージョンvN.N.N
。v N.N.NはDocker Composeのバージョンを示します。
スタンドアロンDocker Compose
スタンドアロンのDocker Composeをダウンロードしてインストールします。
説明GitHubにアクセスしようとすると、ネットワークの問題によるタイムアウトや接続障害などの問題が発生する可能性があります。 これらの問題を解決するには、数回再接続してください。
curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
スタンドアロンDocker Composeをインストールするパスで、スタンドアロンバイナリファイルに対する実行権限を付与します。
sudo chmod +x /usr/local/bin/docker-compose
Docker Composeのバージョンを照会して、スタンドアロンのDocker Composeがインストールされているかどうかを確認します。
説明スタンドアロンdocker composeのインストール後に
Docker-Compose
コマンドを実行したときに問題が発生した場合、システム環境変数にスタンドアロンDocker Composeのインストールパスが含まれていない可能性があります。 この問題を解決するには、/usr/bin
ディレクトリまたは環境変数に含まれる別のディレクトリへのシンボリックリンクを作成します。sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo docker-compose version
Docker Composeを使用したアプリケーションのデプロイ
このセクションでは、Docker Composeを使用してWordPressをデプロイする方法について説明します。
次のコマンドを実行して、
docker-compose.yaml
ファイルを作成および編集します。sudo vim docker-compose.yaml
I
キーを押してInsertモードに入り、次のコンテンツをファイルに追加してWordPressおよびMySQLサービスを定義します。version: '3.1' services: wordpress: image: wordpress restart: always ports: - "80:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: 123456 WORDPRESS_DB_NAME: wordpress volumes: - wordpress:/var/www/html db: image: mysql:5.7 restart: always ports: - "3306:3306" environment: MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: 123456 MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db:
Esc
キーを押して挿入モードを終了し、:wq
と入力し、enterキーを押してファイルを保存して閉じます。次のコマンドを実行してサービスを開始します。
sudo env "PATH=$PATH" docker compose up -d
ブラウザのアドレスバーに
http:// <ECSインスタンスのパブリックIPアドレス>
形式のアドレスを入力し、WordPress設定ページに移動します。 このページでは、WordPressにアクセスするためのプロンプトに従ってパラメーターを設定できます。説明ECSインスタンスが属するセキュリティグループでポート
80
を開く必要があります。 セキュリティグループでポートを開く方法については、「セキュリティグループルールの追加」をご参照ください。
よくある質問
Linux ECSインスタンスでdnf config-managerコマンドを実行したときにエラーが発生した場合はどうすればよいですか。
Linux ECSインスタンスでdnf install docker-ceコマンドを実行したときにエラーが発生した場合はどうすればよいですか。
関連ドキュメント
Dockerの使用方法については、Dockerのドキュメントをご参照ください。
Alibaba Cloud Container Registryはアーティファクトセンターをリリースし、Alibaba Cloud WebサイトとOpenAnolisコミュニティから安全で信頼できるベースコンテナイメージを開発者に無料で提供します。 詳細については、「アーティファクトセンターの概要」をご参照ください。
Container Registry Enterprise EditionのP2Pアクセラレーション機能を使用して、イメージプルを高速化できます。 詳細については、「DockerがインストールされているホストでのP2Pアクセラレーション機能の使用」をご参照ください。
DockerでCLIツールを設定して、Alibaba Cloudリソースを管理できます。 詳細については、「DockerコンテナーでAlibaba Cloud CLIを実行する」をご参照ください。