このトピックでは、Container Registry コンソールでプライベートイメージリポジトリを作成し、Container Service コンソールでこのリポジトリのイメージを使用してアプリケーションを作成する方法について説明します。
手順 1:プライベートイメージリポジトリの作成
Container Registry コンソールを初めて使用する場合、まず Containter Registry の有効化を求められます。 [今すぐ有効化] をクリックして、Container Registry ログインパスワードを設定します。
- 左側のナビゲーションペインで [イメージリポジトリ] をクリックします。 イメージリポジトリを作成するリージョンを選択し、[イメージリポジトリを作成] をクリックします。
- 表示されるダイアログボックスで、名前空間、名前、ダイジェスト、およびタイプを設定します。 この例では、リポジトリのタイプをプライベートに設定します。 [次へ] をクリックします。
- [ローカルリポジトリ] を選択し、[イメージリポジトリを作成] をクリックします。
- [イメージリポジトリ] ページで、リポジトリを作成したリージョンと名前空間を選択し、新しく作成されたイメージリポジトリの [操作] 列に表示される [管理] をクリックします。
- [一般設定] ページには、プライベートイメージリポジトリの使用方法が表示されます。
- 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
- イメージリポジトリの詳細ページに移動します。 左側のナビゲーションペインで [イメージバージョン] を選択し、ローカルイメージがリポジトリにアップロードされたことを確認します。
プライベートリポジトリのログインパスワードを作成する
- 左側のナビゲーションペインで をクリックします。
- 対象となるクラスターおよび名前空間を選択します。 画面右上の [作成] をクリックします。
- シークレットを設定し、[OK] をクリックします。
- 新しく作成されたログインパスワードは、[シークレット] ページで参照できます。
また、kubectl を利用した Kubernetes クラスターへの接続によりプライベートリポジトリのログインパスワードを作成することもできます。
プライベートイメージリポジトリを利用してアプリケーションを作成する
- 左側のナビゲーションペインで を選択し、 [デプロイメント] ページへ移動します。
- 対象となるクラスターと名前空間を選択し、右上の [テンプレートから作成] をクリックします。
注 [イメージから作成] クリックしてアプリケーションを作成することもできます。 詳細については、「
イメージシークレットの利用」をご参照ください.
- [サンプルテンプレート] ドロップダウンリストで [カスタム] を選択します。 次のコードをコピーして [テンプレート] エリアにペーストし、 [作成] をクリックします 。
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 」をご参照ください。