このトピックでは、Container Registry コンソールでプライベートイメージリポジトリを作成し、Container Service コンソールでこのリポジトリのイメージを使用してアプリケーションを作成する方法について説明します。

手順 1:プライベートイメージリポジトリの作成

Container Registry コンソールを初めて使用する場合、まず Containter Registry の有効化を求められます[今すぐ有効化] をクリックして、Container Registry ログインパスワードを設定します。

  1. 左側のナビゲーションペインで [イメージリポジトリ] をクリックします。 イメージリポジトリを作成するリージョンを選択し、[イメージリポジトリを作成] をクリックします。
  2. 表示されるダイアログボックスで、名前空間、名前、ダイジェスト、およびタイプを設定します。 この例では、リポジトリのタイプをプライベートに設定します。 [次へ] をクリックします。
  3. [ローカルリポジトリ] を選択し、[イメージリポジトリを作成] をクリックします。
  4. [イメージリポジトリ] ページで、リポジトリを作成したリージョンと名前空間を選択し、新しく作成されたイメージリポジトリの [操作] 列に表示される [管理] をクリックします。
  5. [一般設定] ページには、プライベートイメージリポジトリの使用方法が表示されます。
  6. Linux サーバーからイメージリポジトリにログインし、次のコマンドを実行してローカルイメージをリポジトリにアップロードします。
    $ sudo docker login --username=abc@aliyun.com
     Password                                                                                 ## the password for accessing the image repository
     Login Succeed
    
    $ docker images                                                                             # a tomcat image is used
    REPOSITORY                                                                 TAG                 IMAGE ID            CREATED             SIZE
    tomcat                                                                     latest              2d43521f2b1a        6 days ago          463MB
    
    $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private:[Image Version Number]           
    $ sudo docker push registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private:[Image Version Number]

    出力結果は以下の通りです。

    The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private]
    9072c7b03a1b: Pushed
    f9701cf47c58: Pushed
    365c8156ff79: Pushed
    2de08d97c2ed: Pushed
    6b09c39b2b33: Pushed
    4172ffa172a6: Pushed
    1dccf0da88f3: Pushed
    d2070b14033b: Pushed
    63dcf81c7ca7: Pushed
    ce6466f43b11: Pushed
    719d45669b35: Pushed
    3b10514a95be: Pushed
    V1: digest: sha256:cded14cf64697961078aedfdf870e704a52270188c8194b6f70c778a8289**** size: 2836
  7. イメージリポジトリの詳細ページに移動します。 左側のナビゲーションペインで [イメージバージョン] を選択し、ローカルイメージがリポジトリにアップロードされたことを確認します。

プライベートリポジトリのログインパスワードを作成する

  1. 左側のナビゲーションペインで [設定] > [シークレット] をクリックします。
  2. 対象となるクラスターおよび名前空間を選択します。 画面右上の [作成] をクリックします。
  3. シークレットを設定し、[OK] をクリックします。
    3
  4. 新しく作成されたログインパスワードは、[シークレット] ページで参照できます。

また、kubectl を利用した Kubernetes クラスターへの接続によりプライベートリポジトリのログインパスワードを作成することもできます。

プライベートイメージリポジトリを利用してアプリケーションを作成する

  1. 左側のナビゲーションペインで [アプリケーション管理] > [デプロイメント] を選択し、 [デプロイメント] ページへ移動します。
  2. 対象となるクラスターと名前空間を選択し、右上の [テンプレートから作成] をクリックします。
    [イメージから作成] クリックしてアプリケーションを作成することもできます。 詳細については、「イメージシークレットの利用」をご参照ください.
  3. [サンプルテンプレート] ドロップダウンリストで [カスタム] を選択します。 次のコードをコピーして [テンプレート] エリアにペーストし、 [作成] をクリックします 。
    apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment 
    metadata: 
      name: private-image
      nameSpace: default  
      labels:  
        app: private-image  
    spec:   
      replicas: 1
      selector:
        matchLabels:
          app: private-image
      template:
        metadata:
          labels:
            app: private-image
        spec:
          containers:     - name: private-image
            image: registry.cn-hangzhou.aliyuncs.com/xxx/tomcat-private:latest
            ports:
            - containerPort: 8080
          imagePullSecrets:
          - name: regsecret

詳細については、 「Use a private registry 」をご参照ください。