tencent cloud

Cloud Virtual Machine

最新情報とお知らせ
製品情報
パブリックイメージの更新情報
OSの公式サポート終了計画
製品に関するお知らせ
製品概要
CVM概要
製品の強み
基本概念
リージョンとゾーン
初心者ガイド
Service Regions and Service Providers
製品の課金
課金概要
課金モデル
課金項目
課金モデルの変更
購入インスタンス
仕様変更の料金説明
料金未払いに関する説明
クイックスタート
カスタム設定によるLinuxインスタンスの購入
カスタム設定によるWindowsインスタンスの購入
ユーザーガイド
操作ガイド一覧
ご利用制限一覧
インスタンス
スポットインスタンス
リザーブドインスタンス
イメージ
ストレージ
バックアップと復元
ネットワーク
セキュリティ
パスワード/キー
監視とアラート
運用管理
便利な機能
サーバー移行
オンライン移行
オフライン移行
移行に関するご相談
トラブルシューティング
CVMインスタンスにログインできない原因や対処法
Windowsインスタンスのログインに関する障害
Linuxインスタンスのログインに関する障害
その他のインスタンスログインに関する障害
インスタンス実行時の障害
Linuxインスタンスのメモリに関する障害
ネットワーク障害
実践チュートリアル
CVMの選定ガイド
環境構築
ウェブサイトの構築
アプリケーションの構築
可視化ページの構築
ローカルファイルをCVMへアップロード
ネットワークパフォーマンステスト
その他の実践チュートリアル
API リファレンス
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
セキュリティとコンプライアンス
Cloud Access Management(CAM)
ネットワーク
よくあるご質問
リージョンとアベイラビリティゾーンに関するご質問
課金クラス
インスタンスに関するご質問
ストレージに関するご質問
イメージに関するご質問
サーバー移行について
ネットワークに関するご質問
セキュリティに関するご質問
OSに関するご質問
運用と監視に関するご質問
CAMに関するご質問
NTPサービスに関するご質問
適用シナリオに関するご質問
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
用語集

Dockerの構築

PDF
フォーカスモード
フォントサイズ
最終更新日: 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の公式ウェブサイト にログインし、確認することができます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック