container-vm
マシンの起動時に作成されたコンテナを使用して、Google Compute Engine VM インスタンスを起動しようとしています。この例は、ドキュメント セクションのインスタンス作成時のコンテナーの作成 にあります。
与えられた例ではすべてうまくいきます:
apiVersion: v1
kind: Pod
metadata:
name: service
spec:
containers:
- name: jillix-service
image: gcr.io/google-containers/busybox
command: ['nc', '-p', '8000', '-l', '-l', '-e', 'echo', 'hello world!']
imagePullPolicy: Always
ports:
- containerPort: 8000
hostPort: 80
しかし、代わりに独自のコンテナー イメージを使用しようとすると、イメージが機能しません。
apiVersion: v1
kind: Pod
metadata:
name: service
spec:
containers:
- name: jillix-service
image: gcr.io/sigma-cairn-99810/service
imagePullPolicy: Always
ports:
- containerPort: 8000
hostPort: 80
作業例では、docker は次のコンテナー イメージが VM 上にあると報告します。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
gcr.io/google_containers/pause 0.8.0 2c40b0526b63 7 months ago 241.7 kB
gcr.io/google-containers/busybox latest 4986bf8c1536 10 months ago 2.433 MB
しかし、コンテナ イメージを使用すると、これが欠落しています。
gabriel@container-image-builder:~$ sudo docker images
リポジトリ タグ イメージ ID の作成仮想サイズ gcr.io/google_containers/pause 0.8.0 2c40b0526b63 7 か月前 241.7 kB
したがって、これがコンテナが起動しない理由だと思います。gcr.io/sigma-cairn-99810/service
しかし、VM が私のイメージをダウンロードしないのはなぜですか?
認証と何か関係がありますか?(手動で VM にログインするとgcloud docker pull
、最初にプロンプトが表示されますgcloud auth login
。次に、イメージをプルdocker run
すると正常に動作し、すべてが機能します。)