Alibaba Cloud サーバーのインストールと展開 Docker チュートリアル

この記事 Alibaba Cloud Encyclopedia では、クラウド サービス ECS インスタンスに Docker をデプロイして使用する方法を紹介します。Docker は、移植性、拡張性、高いセキュリティ、管理性という利点を備えたオープンソースのアプリケーション コンテナ エンジンです。開発者は、アプリケーションと依存関係をポータブル コンテナにパッケージ化し、Linux マシンに迅速に公開し、仮想化を実装してアプリケーションをより効率的に構築、展開、管理できます。同時に、Alibaba Cloud は、Docker の迅速なデプロイを容易にする Docker イメージ ソースを提供します。

目次

前提条件

Dockerをデプロイする

Dockerの基本的な使い方

Docker を使用してイメージを作成する

docker-compose をインストールして使用する

docker-compose をインストールする

docker-compose を使用してアプリケーションをデプロイする


前提条件

基本的な ECS インスタンスが作成されており、次の構成を満たしています。

  • オペレーティング システム: CentOS 7.x 64 ビット、CentOS 8.x 64 ビット、Alibaba Cloud Linux 3 64 ビット、Alibaba Cloud Linux 2 64 ビット
  • ECSクラウドサーバー: aliyunbaike.com/go/ecs
  • ネットワークの種類: プライベート ネットワーク VPC
  • IPアドレス:パブリックIP
  • セキュリティ グループ: 受信方向にポート 80、22、および 8080 を開きます。特定の操作については、「セキュリティ グループ ルールの追加」を参照してください。

Dockerをデプロイする

  1. ECS インスタンスにリモートで接続します。

    接続方法の概要については、「接続方法の概要」を参照してください。

  2. Docker、CentOS 8.x をインストールする

  1. CentOS 8 の送信元アドレスを切り替えます。

    CentOS 8 オペレーティング システムのバージョンはライフ サイクル (EOL) を終了しました。コミュニティ ルールに従って、CentOS 8 のソース アドレス http://mirror.centos.org/centos/8/ の内容は削除されました。続行できます。 Alibaba Cloud でデフォルト設定を使用すると、CentOS 8 ソース エラーが発生します。CentOS 8 システムで一部のインストール パッケージを使用する必要がある場合は、ソース アドレスを手動で切り替える必要があります。

  2. 次のコマンドを実行して DNF をインストールします。

    sudo yum -y install dnf
  3. 次のコマンドを実行して、Docker ストレージ ドライバーの依存関係パッケージをインストールします。

    sudo dnf install -y device-mapper-persistent-data lvm2
  4. 次のコマンドを実行して、安定した Docker ソフトウェア ソースを追加します。

    sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. 次のコマンドを実行して、Docker ソフトウェア ソースが追加されているかどうかを確認します。

    sudo dnf list docker-ce

    以下の図に示すエコーが表示され、Docker ソフトウェア ソースが追加されたことが示されます。Alibaba Cloud 速度テスト ツールaliyunping.comを使用して、ローカル ノードからさまざまなリージョンの Alibaba Cloud サーバーまでの ping 値のネットワーク遅延をテストできます。

    画像..png

  6. 次のコマンドを実行して Docker をインストールします。

    sudo dnf install -y docker-ce --nobest

     

  7. 以下のコマンドを実行して、Docker が正常にインストールされたかどうかを確認します。

    sudo docker -v

    次の図に示すように、Docker は正常にインストールされました。

    画像..png

  8. 次のコマンドを実行して Docker サービスを起動し、起動時に自動的に起動するように設定します。

    sudo systemctl start docker
    sudo systemctl enable docker
  9. 以下のコマンドを実行してDockerが起動しているか確認します。

    sudo systemctl status docker

    次のエコーに示されているように、Docker が起動されました。

    画像..png

Dockerの基本的な使い方

Docker の基本的な使用法のみを以下に示します。

  • Docker デーモンの管理

    sudo systemctl start docker     #运行Docker守护进程
    sudo systemctl stop docker      #停止Docker守护进程
    sudo systemctl restart docker   #重启Docker守护进程
    sudo systemctl enable docker    #设置Docker开机自启动
    sudo systemctl status docker    #查看Docker的运行状态
  • 画像の管理

    この記事では、Alibaba Cloud ウェアハウス内の Apache イメージを例として、Docker を使用してイメージを管理する方法を紹介します。

    • 画像を引っ張ってきます。

      sudo docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
    • ラベルを変更します。イメージ名が長い場合は、イメージ ラベルを変更して覚えておくことができます。

      sudo docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
    • 既存のイメージを表示します。

      sudo docker images
    • 画像を強制的に削除します。

      sudo docker rmi -f registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
  • コンテナの管理

    以下の <イメージ ID> は、docker imagesコマンドを通じて照会できます。

    • 新しいコンテナを開始します。

      sudo docker run -it <镜像ID> /bin/bash
    • 新しいコンテナを起動し、コンテナをバックグラウンドで実行させ、コンテナ名を指定します。

      sudo docker run -d --name <容器名> <镜像ID>
    • コンテナIDを表示します。

      sudo docker ps
    • コンテナをイメージ化します。

      sudo docker commit <容器ID或容器名> <仓库名>:<标签>

 

Docker を使用してイメージを作成する

このステップでは、Dockerfile を使用して単純な Nginx イメージをカスタマイズする方法を説明します。

  1. 次のコマンドを実行してイメージをプルします。この例では、例として Alibaba Cloud ウェアハウスから Apache イメージをプルします。

    sudo docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5
  2. イメージ名のラベルを変更して、覚えやすくします。

    sudo docker tag registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1
  3. 次のコマンドを実行して、Dockerfile ファイルを作成および編集します。

    1. 次のコマンドを実行して、Dockerfile ファイルを作成および編集します。

      vim Dockerfile
    2. を押してi編集モードに入り、次のコンテンツを追加して元の画像を変換します。

      #声明基础镜像来源。
      FROM aliweb:v1
      #声明镜像拥有者。
      MAINTAINER DTSTACK
      #RUN后面接容器运行前需要执行的命令,由于Dockerfile文件不能超过127行,因此当命令较多时建议写到脚本中执行。
      RUN mkdir /dtstact
      #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。
      ENTRYPOINT ping www.aliyun.com
    3. Escキー 、 Enter を押して:wqEnterキーを押してDockerfile を保存して終了します。

  4. 次のコマンドを実行して、基本イメージ nginx に基づいて新しいイメージをビルドします。

    コマンドの形式は ですdocker build -t <镜像名称>:<镜像版本> .コマンドの末尾は.Dockerfile ファイルのパスを表すため、無視できません。新しいイメージ aliweb:v2 を構築する例を取り上げます。コマンドは次のとおりです。

    sudo docker build -t aliweb:v2 .
  5. 次のコマンドを実行して、新しいイメージが正常に構築されたかどうかを確認します。

    sudo docker images 

    次のエコーに示されているように、ビルドは成功しました。

    画像..png

docker-compose をインストールして使用する

docker-compose は、複数の Docker コンテナを定義および実行するために Docker によって公式に提供されるオープン ソースのコンテナ オーケストレーション ツールです。YAML ファイルを使用してアプリケーションに必要なすべてのサービスを構成し、docker-compose を使用して YAML を解析するコマンドを実行できます。ファイル構成を作成し、構成ファイル内ですべての Docker サービスを作成して開始します。これには、運用と保守のコストが低く、導入効率が高いという利点があります。

重要 

Python 3 以降のみが docker-compose をサポートしており、pip がインストールされていることを確認してください。

docker-compose をインストールする

  1. 次のコマンドを実行して setuptools をインストールします。

    pip3 install -U pip setuptools
  2. 次のコマンドを実行して、docker-compose をインストールします。

    pip3 install docker-compose
  3. 次のコマンドを実行して、docker-compose が正常にインストールされているかどうかを確認します。

    docker-compose --version

    エコーが docker-compose のバージョン情報を返した場合、docker-compose が正常にインストールされたことを意味します。

 

docker-compose を使用してアプリケーションをデプロイする

以下では、WordPress のデプロイを例として、docker-compose を使用してアプリケーションをデプロイする方法を紹介します。

  1. docker-compose.yaml ファイルを作成して編集します。

    1. 次のコマンドを実行して、docker-compose.yaml ファイルを作成します。

      vim docker-compose.yaml
    2. iキーを押して編集モードに入り、次の内容を追加します。

      この例では、WordPress のインストールを例に挙げています。

      version: '3.1'             # 版本信息
      
      services:
      
        wordpress:               # 服务名称         
          image: wordpress       # 镜像名称
          restart: always        # docker启动,当前容器必启动
          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        # docker启动,当前容器必启动
          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:

    3. Escキーを押して編集モードを終了し、 Enter を押して:wq保存して終了します。

  2. 以下のコマンドを実行してアプリケーションを起動します。

    sudo env "PATH=$PATH" docker-compose up -d
  3. ブラウザに入力してhttps://云服务器ECS实例的公网IPWordPress 設定ページに入り、インターフェースのプロンプトに従って関連パラメータを設定し、WordPress にアクセスできます。

 この記事は、Alibaba Cloud 公式ドキュメントから転載したものです。

おすすめ

転載: blog.csdn.net/aliyunbaike/article/details/132249920