tencent cloud

最終更新日:2025-06-19 16:13:37
Dockerの構築
最終更新日: 2025-06-19 16:13:37

概要

ここでは、Tencent Cloud CVMでDockerを構築、使用する方法についてご説明します。Linux OSを熟知し、Tencent Cloud CVMを使い始めたばかりの開発者を対象にしています。Dockerの詳細については、Docker公式 をご参照ください。
説明:
Windows Subsystem for Linux(以下、WSL)は、Windows Server 2022システムの中でいくつかの制限があります。システムカーネルの完全性の原因で、WSL 1はLinux Dockerを実行できません。WSL 2はLinux Dockerを実行できますが、ハードウェアが二次仮想化をサポートするのが必要で、通常のCVM(Lighthouseを含む)は二次仮想化をサポートしていません。ですからWSL 1もWSL 2も通常のWindows CVM上ではLinux Dockerを実行できません。
Windowsの通常のCVM(Lighthouseを含む)はInstall Docker Desktop on Windowsをサポートしていません。Windowsのベアメタル物理マシンの場合は、Server 2022システムを選択することをお勧めします。詳細な情報については、関連ドキュメント マイクロソフト公式ドキュメント - コンテナ用のWindowsの準備を参照して設定してください。

デモ用オペレーティングシステム

本記事では、CVMインスタンスオペレーティングシステムとして、Tencent CloudのパブリックイメージであるTencentOS Server 4、TencentOS Server 3、CentOS 8.2、CentOS 7.9、Ubuntu 22.04、Debian 12.5、OpenCloudOS 9.0、OpenCloudOS 8.0を例に使用しています。
TencentOS Server 2.4 (TK4) オペレーティングシステムを使用している場合、イメージにはDockerが事前にインストールされており、再度インストールする必要はありません。詳細は、Dockerの使用についてを参照に直接使用開始できます。

前提条件

Linux CVMを購入済みであること。
説明:
Dockerの構築には64ビットシステムを使用し、カーネルバージョンが3.10以上である必要があります。

操作手順

Dockerのインストール

ご使用のオペレーティングシステムのバージョンに応じて、以下の操作手順を実行してください:
2. Dockerのインストール。
TencentOS Server 4
TencentOS Server 3
CentOS 8.2
CentOS 7.9
Ubuntu 22.04
Debian 12.5
OpenCloudOS 9.0
OpenCloudOS 8.0
1. このバージョンのオペレーティングシステムのパブリックイメージには、Tencent CloudのDockerリポジトリが事前に設定されています。以下のコマンドを実行して、Dockerをインストールできます。
sudo yum install docker -y
2. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
3. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. このバージョンのオペレーティングシステムのパブリックイメージには、Tencent CloudのDocker-ceリポジトリが事前に設定されています。以下のコマンドを実行してDockerをインストールできます。
sudo dnf install -y docker-ce --nobest
2. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
3. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. 以下のコマンドを実行して、Dockerリポジトリを追加し、Tencent Cloudリポジトリとして設定します。
sudo dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo
2. 以下のコマンドを実行して、追加したDockerリポジトリを確認します。
sudo dnf list docker-ce
3. 以下のコマンドを実行して、Dockerをインストールします。
sudo dnf install -y docker-ce --nobest
4. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
5. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。




1. 以下のコマンドを実行して、Dockerリポジトリを追加し、Tencent Cloudリポジトリとして設定します。
sudo yum-config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo
2. 以下のコマンドを実行して、追加したDockerリポジトリを確認します。
sudo yum list docker-ce
3. 以下のコマンドを実行して、Dockerをインストールします。
sudo yum install -y docker-ce
4. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
5. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. 以下のコマンドを実行して、Dockerリポジトリを追加します。
sudo apt-get update
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ \\
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2. 以下のコマンドを実行して、Dockerをインストールします。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
4. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. 以下のコマンドを実行して、Dockerリポジトリを追加します。
sudo apt-get update
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/debian/ \\
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2. 以下のコマンドを実行して、Dockerをインストールします。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
4. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. 以下のコマンドを実行して、Dockerをインストールします。
sudo yum install docker -y
2. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
3. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。



1. 以下のコマンドを実行して、Dockerリポジトリを追加し、Tencent Cloudリポジトリとして設定します。
sudo dnf config-manager --add-repo=https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i "s/download.docker.com/mirrors.tencentyun.com\\/docker-ce/g" /etc/yum.repos.d/docker-ce.repo
2. 以下のコマンドを実行して、追加したDockerリポジトリを確認します。
sudo dnf list docker-ce
3. 以下のコマンドを実行して、Dockerをインストールします。
sudo dnf install -y docker-ce --nobest
4. 以下のコマンドを実行して、Dockerを起動します。
sudo systemctl start docker
5. 以下のコマンドを実行して、インストール結果を確認します。
sudo docker info
以下の情報が返された場合、インストール済みです。




Dockerの使用

Dockerを使用するための基本的なコマンドは次のとおりです:
Dockerデーモンを管理します。
Dockerデーモンを実行します:
sudo systemctl start docker
Dockerデーモンを停止します:
sudo systemctl stop docker
Dockerデーモンを再起動します:
sudo systemctl restart docker
イメージを管理します。ここではDocker HubのNginxイメージを例として取り上げます。
sudo docker pull nginx
注意:
docker pullコマンドで「Get "https://registry-1.docker.io/v2/": xxxxx (Client.Timeout exceeded while awaiting headers)」というエラーが表示された場合、ネットワークの問題が起きたことを示しています。Tencent Cloudのイメージソースを利用してDockerを加速する を参考にリポジトリを変更することをお勧めします。
タグの変更:イメージタグを変更して、違いを記憶させることができます。
sudo docker tag docker.io/nginx:latest tencentyun/nginx:v1
既存イメージを確認します:
sudo docker images
イメージを強制的に削除します:
sudo docker rmi -f tencentyun/nginx:v1
コンテナを管理します。
実行してコンテナに入る:
sudo docker run -it ImageId /bin/bash
その中で、ImageIddocker images コマンドを実行することで取得できます。現在のSSH接続ウィンドウを直接終了するか、「Ctrl+pとCtrl+q」のショートカットキーを押すことで、入ったコンテナをバックグラウンドに移動させます。
バックグラウンドで実行されているコンテナ内で新しいbashプロセスを実行する:
docker exec -itコンテナID /bin/bash
exitコマンドを実行してbashプロセスを終了します。
バックグラウンドのコンテナを確認する:
sudo docker ps # 実行中のコンテナを確認します。
sudo docker ps -a # 全てのコンテナを確認します。
終了したコンテナを再起動する:
docker start <コンテナID>
終了したコンテナは sudo docker ps -a コマンドで確認できます。コマンド出力のSTATUS列に「Exited」が含まれているものが終了したコンテナです。
コンテナをイメージ化します:
sudo docker commit <コンテナIDまたはコンテナ名> [<リポジトリ名>[:<タグ>]]
例:
docker commit 1c23456cd7**** tencentyun/nginx:v2

イメージの作成

1. 次のコマンドを実行して、Dockerfileファイルを開きます。
sudo vim Dockerfile
2. iを押して編集モードに切り替え、次の内容を追加します。
#ベースイメージのソースを宣言します。
FROM tencentyun/nginx:v2
#イメージの所有者を宣言します。
MAINTAINER DTSTACK
#RUNの後ろには、コンテナを実行する前に実行する必要のあるコマンドが続きます。Dockerfileは127行を超えることはできないため、コマンドが多い場合は、スクリプトに記述して実行することをお勧めします。
RUN mkdir /dtstact
RUN apt update && apt install -y iputils-ping
#ブートコマンドです。ここでの最後のコマンドは、フォアグラウンドで継続的に実行できるコマンドである必要があります。そうでない場合、コンテナはバックグラウンドで実行され、コマンドの実行が終了した時点でログアウトします。
ENTRYPOINT ping cloud.tencent.com
3. Escを押し、**:wq**を入力して、ファイルを保存して戻ります。
4. 次のコマンドを実行して、イメージを作成します。
sudo docker build -t nginxos:v1 . #.は、Dockerfileファイルのパスなので、無視することはできません。
5. 次のコマンドを実行して、イメージの作成が成功したかどうかを確認します。
sudo docker images
6. 次のコマンドを順に実行して、コンテナの実行とコンテナの表示を行います。
sudo docker run -d nginxos:v1 #コンテナをバックグラウンドで実行します。
sudo docker ps #現在実行中のコンテナを確認します。
sudo docker ps -a #実行されていないコンテナを含むすべてのコンテナを確認します。
sudo docker logs CONTAINER ID/IMAGE #先ほど実行したコンテナが表示されない場合は、コンテナIDまたはコンテナ名でブートログを確認し、トラブルシューティングを行います。
7. 次のコマンドを順に実行して、イメージを作成します。
sudo docker commit fb2844b6**** nginxweb:v2 #commitパラメータの後に、コンテナID、作成する新しいイメージの名前とバージョン番号を追加します。
sudo docker images #ローカル(ダウンロード済みおよびローカルで作成された)イメージを一覧表示します。
8. 次のコマンドを順に実行して、リモートリポジトリにイメージをプッシュします。
9. デフォルトでDockerHubにプッシュします。まずDockerにログインして、タグをイメージにバインドし、イメージに`Dockerユーザー名/イメージ名:タグの形式で名前を付け、最後にプッシュを完了する必要があります。
注意:
ここでは、サーバーが https://registry-1.docker.io に正常にアクセスできる必要があります。それ以外の場合、タイムアウトエラーが報告されます。
タイムアウトエラーの解決方法は、アクセス可能な他のリポジトリにプッシュすることです。例えば、 Tencent Cloud Tencent Container Registry にプッシュするなど。
sudo docker login #実行後、イメージリポジトリのユーザー名とパスワードを入力します
sudo docker tag [イメージ名]:[タグ] [ユーザー名]:[タグ]
sudo docker push [ユーザー名]:[タグ]
プッシュが完了したら、ブラウザを使用して Docker Hubの公式ウェブサイト にログインし、確認することができます。
この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック