1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コンテナイメージ内にCloud SDKをインストールしてみる

Last updated at Posted at 2021-12-21

この記事はNI+C Advent Calendar 2021 22日目の記事となります。

今回はGoogle Cloudでホストされるリソースやアプリケーションの管理に使用できるツールのCloud SDKをコンテナに導入する方法を紹介します。
以前、コンテナにCloud SDKの導入が必要なことがあったため、その時のメモを元に備忘録的な感じで書いていきたいと思います。

手順

##0. 準備
適当なフォルダを準備して、その中にDockerfileを用意します。

mkdir sample && cd sample
touch Dockerfile 

以降は用意したDockerfileに記述していく内容となります。

##1. イメージ
今回はUbuntu18.04のOSイメージを使用して作成していきます。
このイメージを使用した理由としては、DebianとUbuntuでは導入方法がほぼ同じな為です。
どういうことかと言いますと、pythonやGoなどのdockerhubに公開されているイメージを見るとFROM buildpack-deps:xxxがOSイメージとして採用されているのですが、大元をたどるとDebianベースなので、今回の方法を流用することで他のイメージにもインストールできるかと思います。

FROM ubuntu:18.04

##2. ツールインストール
Cloud SDKの導入の際に必要なツールをUbuntu内にインストールしていきます。
ツールは以下のものをインストールしていきます。

  • curl
  • sudo
  • apt-transport-https
  • ca-certificates
  • gnupg
RUN apt-get update  -y && \
    apt-get install -y curl && \
    apt-get install -y sudo && \
    apt-get install -y apt-transport-https && \
    apt-get install -y ca-certificates && \
    apt-get install -y gnupg

##3. Cloud SDKインストール
最後にCloud SDKのインストールを行います。

RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - && \
    sudo apt-get update -y && \
    sudo apt-get install google-cloud-sdk -y

これでDockerfileの作成は終わりです。このあとDocker buildを行い作成したコンテナに入り、初回起動コマンドのgcloud initを行って完了となります。

まとめ

作成したDockerfileをまとめて載せたいと思います。

FROM ubuntu:18.04

# 必要なコマンド類のインストール
RUN apt-get update  -y && \
    apt-get install -y curl && \
    apt-get install -y sudo && \
    apt-get install -y apt-transport-https && \
    apt-get install -y ca-certificates && \
    apt-get install -y gnupg 

# Cloud SDKインストール
RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && \
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - && \
    sudo apt-get update -y && \
    sudo apt-get install google-cloud-sdk -y

今回は作成のみでイメージの軽量化なんかはできていないのでそのあたりもチャレンジしていけたらなと思っています。

#おわりに
今回この記事をまとめている際にこのようなものを見つけました。

Cloud SDK Docker イメージ

ちゃんと公式から出ていたのですね。。。(ドキュメントは隅から隅まで見ろ)

この記事を利用してdevコンテナを作ってみたり、他のイメージにCloud SDKをインストールして利用していただければ幸いです。
最後までご覧いただきありがとうございます。

参考文献:
Cloud SDK のインストール

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?