ECSに基づいてDocker環境をすばやく構築する
エクスペリエンスアドレス:https://developer.aliyun.com/adc/scenario/9fd79b8711984e309f20d82bc65a26fa?spm = a2c6h.15013979.J_7591448770.12.380070778QJr1s
経験目標
このシナリオでは、CentOS 7.7で構成されたECSインスタンス(クラウドサーバー)を提供します。このチュートリアルの操作を通じて、ECSインスタンスに基づいてDocker環境をすばやく構築し、Docker環境にNginxサービスをデプロイできます。
背景知識
コンテナ技術
コンテナは、リソース分離のプロセスでアプリケーションとその依存関係を実行できるようにする、軽量のオペレーティングシステムレベルの仮想化テクノロジーです。アプリケーションの実行に必要なすべてのコンポーネントは、単一のイメージにパッケージ化されています。このイメージは再利用できます。イメージが実行されている場合、イメージは独立した環境で実行され、ホストオペレーティングシステムのメモリ、CPU、またはディスクを他のアプリケーションと共有しません。これにより、コンテナ内のプロセスがコンテナ外のプロセスに影響を与えないことが保証されます。
Docker
Dockerは、開発者がアプリケーションと依存関係をポータブルコンテナーにパッケージ化し、一般的なLinuxマシンまたはWindowsマシンに公開できるようにするオープンソースのアプリケーションコンテナーエンジンです。仮想化することもできます。コンテナーは完全にサンドボックスメカニズムを使用しています。相互にインターフェースはありません。Dockerの下部で使用されるLinuxcgroupとnamespaceの2つのテクノロジーは、アプリケーションの分離を実装します。完全なDockerは、次の部分で構成されます。
- Dockerクライアントクライアント
- Dockerデーモンデーモン
- Dockerイメージミラー
- Dockerコンテナ
リソースを作成する
-
ページの左側で、クラウド製品リソースのドロップダウンメニューをクリックして、この実験のリソースを表示します。
-
[無料でアクティブ化]をクリックして、必要なリソースを作成します。
注:リソースの作成プロセスには1〜3分かかります。実験的なリソースの作成が完了すると、IPアドレス、ユーザー名、パスワードなど、作成されたリソース情報をクラウド製品のリソースリストに表示できます。
ECSサーバーに接続します
- システムに付属のターミナルツールを開きます。
- Windows:CMDまたはPowershell。
- MAC:ターミナル。
- ターミナルで接続コマンドssh [username] @ [ipaddress]を入力します。ユーザー名とIPアドレスを、セクション1で作成したECSサーバーのログイン名とパブリックネットワークアドレスに置き換える必要があります。例えば:
ssh [email protected]
コマンドの表示結果は次のとおりです。
-
はいと入力します。
-
続行することに同意すると、ログインパスワードの入力を求められます。パスワードは、作成したクラウドサービスのECSのログインパスワードです。
ログインに成功すると、以下の情報が表示されます。
DockerCEをインストールします
Dockerには、DockerCEとDockerEEの2つのブランチバージョン、つまりコミュニティエディションとエンタープライズエディションがあります。このチュートリアルは、DockerCEをインストールするためのCentOS7に基づいています。
- Dockerの依存ライブラリをインストールします。
yum install -y yum-utils device-mapper-persistent-data lvm2
- DockerCEのソフトウェアソース情報を追加します。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- DockerCEをインストールします。
yum makecache fast
yum -y install docker-ce
- Dockerサービスを開始します。
systemctl start docker
Alibaba Cloud Image Warehouseの構成(イメージアクセラレーション)
Dockerのデフォルトの公式リモートウェアハウスはhub.docker.comです。ネットワーク上の理由により、公式Dockerイメージのダウンロードに時間がかかる場合があり、ダウンロードが失敗する場合もあります。この目的のために、AliyunコンテナミラーリングサービスACRは、公式ミラーのダウンロードを高速化する公式ミラーサイトを提供しています。以下では、Alibaba Cloud MirrorWarehouseの使用方法について説明します。
- コンテナミラーリングサービスコンソールにログインします。
a。ページリソースバーの左側にあるボタンをクリックしてログインURLをコピーし、ログインリンクシークレットウィンドウを開きます(シークレットモード)入力がコピーされました。
。b使用可能なリソースのサブユーザー名とサブユーザーパスワードを入力し、[ログ]をクリックします。次に、コンテナーミラーリングを検索し、[サービス]をクリックしてコンテナーミラーリングコンソールをログに記録します。
c。ログイン成功ページは次のとおりです。(開いているサービスウィンドウがポップアップした場合は、閉じてください)
- [Mirror Center]> [Mirror Accelerator]をクリックすると、AlibabaCloudが専用のミラーアクセラレーションアドレスを提供していることがわかります。
- Dockerのカスタムミラーウェアハウスアドレスを構成します。次のコマンドのミラーウェアハウスアドレスを、
https://kqh8****.mirror.aliyuncs.com
AlibabaCloudが提供する専用ミラーアクセラレーションアドレスに置き換えてください。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
- サービス構成ファイルをリロードします。
systemctl daemon-reload
- Dockerサービスを再起動します。
systemctl restart docker
Dockerを使用してNginxサービスをインストールする
- Dockerミラーリポジトリで利用可能なバージョンのNginxを確認します。
docker search nginx
コマンド出力は次のとおりです。
- Nginxミラーの最新バージョンをプルします。
docker pull nginx:latest
コマンド出力は次のとおりです。
- ローカルミラーを表示します。
docker images
コマンド出力は次のとおりです。
- コンテナを実行します。
docker run --name nginx-test -p 8080:80 -d nginx
コマンドパラメータの説明:
- --Name nginx-test:コンテナの名前。
- -p 8080:80:ポートマッピング。ローカル8080ポートをコンテナ内の80ポートにマッピングします。
- -d nginx:コンテナを常にバックグラウンドで実行するように設定します。
コマンド出力は次のとおりです。
- ブラウザのアドレスバーで
http://<ECS公网地址>:8080
NginxサービスにアクセスするにはEnterキーを押します。
tee /etc/docker/daemon.json <<-'EOF' {"registry-mirrors":["https://ya7293gb.mirror.aliyuncs.com"]} EOF