Amazon Linuxのdocker imageを作成し、Google Container Registryにアップロードを行い、
Amazon Linuxのdocker イメージを作成する方法については、http://dev.classmethod.jp/cloud/aws/docker-serverspec-configspec-ci/ を参照にしました。
AmazonLinux dockerイメージをローカルのdocker環境にインポートします。
# docker import < amazonssh.tar
# docker tag amazonssh asia.gcr.io/#your-project-id#/amazonssh
Google Container Registryにアップロードを行います。
# gcloud docker push asia.gcr.io/#your-project-id#/amazonssh The push refers to a repository [asia.gcr.io/#your-project-id#/amazonssh] (len: 1) Sending image list Pushing repository asia.gcr.io/#your-project-id#/amazonssh (1 tags)
適当なVMインスタンスを起動します。GCSへのリード書き込み権限を付与することを忘れずに。
# gcloud compute instances create instance-test-docker --image centos-7 --scopes https://www.googleapis.com/auth/devstorage.read_write
dockerのインストール、起動
# yum install docker
# service docker start
asia リージョンのバケットにアップしたので、gcr.ioで見つからないとエラーとなります。
# docker pull gcr.io/your-project-id/amazonssh Trying to pull repository gcr.io/your-project-id/amazonssh ... not found FATA[0000] Error: image your-project-id/amazonssh:latest not found
Google Container Registryからdocker イメージを取得します。
# docker pull asia.gcr.io/your-project-id/amazonssh Trying to pull repository asia.gcr.io/your-project-id/amazonssh ... 3fe81e712d9e: Download complete a09fe07f3274: Download complete 81bcdeaea41c: Download complete 7ad48843769c: Download complete 9b15589bc305: Download complete 48fc49b0c3fa: Download complete 25a9a1b3f0d0: Download complete cbfa77630235: Download complete 76ab5065c4b2: Download complete Status: Downloaded newer image for asia.gcr.io/your-project-idamazonssh:lat
docker イメージがpullできていることを確認できます。
# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE asia.gcr.io/your-project-id/amazonssh latest 3fe81e712d9e 2 weeks ago 874.1 MB
docker containerを起動
# docker run -h amazonssh -t 3fe81e712d9e /bin/bash Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning. docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5534906edb50 3fe81e712d9e:latest "/bin/bash" 17 seconds ago Up 16 seconds 22/tcp agitated_fermi
GCEでAmazon Linuxの環境を構築することも可能となります。
Container-Optimized Compute Engine Instancesでインスタンス起動時にContainer Registryから取得して、Containerを起動することも可能ですが、こちらについては、別途機会に。