昨今の「社内PC」は管理者権限が与えられておらず、「ブラウザ」、「メール」、「Office」の3つだけという環境が標準だったりします。ダディ伯爵の貸与されている社内PCも同様で、プロキシサーバによるサイト閲覧制限のおまけつき。
そのような制限が厳しくなった「社内PC」からでも、おうちからでも、お手軽に操作できる検証環境(dockerコンテナ環境)を簡単に作ることが出来ましたのでご紹介いたします。
- GCPのAlways FreeのGAE無料枠を使ってみた
- GAEの「無料ドメイン」と「無料SSL証明書」がとても便利♪
- 社内PCからRDP接続するために中継サーバ(Guacamole)をdockerコンテナで立ててみた
- 社内PCからGCPのdockerコンテナ環境へSSH接続する
- 「Container-Optimized OS」から「Google Container Registry(GCR)」へコンテナイメージをpushする方法
- Google Cloud Platform(GCP)認定資格の勉強方法
- GCP認定資格「Associate Cloud Engineer」を受験するための勉強方法
- GCP認定資格「Professional Cloud Architect」を受験するための勉強方法
- Google Cloud Platform(GCP)イベント「Cloud OnBoard」に参加してみた
- クレカ不要でGCPを始めよう「Qwiklabs」が無料で使える♪
- クラウド移行ツール「CloudEndure(クラウドエンデュア)」が無料で使える
- ロードバランサー比較(AWS、Azure、GCP)
- SD-WANをOSSで実現できるのか?
- マルチクラウドにおけるVPNネットワーク相互接続について
1.Google Cloud Platform(GCP)でのdockerコンテナ環境の利用について
GCPでdockerコンテナ環境を利用する場合、以下の2パターンになるかと思います。
(1)「Google Compute Engine(GCE)」で「Container-Optimized OS」を使う LINK
(2)「Google Kubernetes Engine(GKE)」を使う LINK
2.Google Container Registry(GCR)の利用について
GCPでdockerコンテナ環境を利用する場合、イメージの保管場所は「Google Container Registry」を利用しましょう。
- 安全な非公開 Docker レジストリ
- 自動的にビルド、デプロイ
- 徹底的な脆弱性スキャン
- リスクのあるイメージをロックダウン
- ネイティブ Docker サポート
- 高速で可用性の高いアクセス
と良いことづくめのサービスなので利用しないのはもったいないです。
利用方法等は「「Container-Optimized OS」から「Google Container Registry(GCR)」へコンテナイメージをpushする方法」にまとめていますのでご確認ください。
3.ブラウザからSSH接続する方法について
それでは、本題に入ります。
上記の「(1)「Google Compute Engine(GCE)」で「Container-Optimized OS」を使う」パターンで話を進めます。
Google Cloud Platform(GCP)のCompute Engineで「Container-Optimized OS」イメージでインスタンスを作成すると「SSH」接続ボタンが出てくるので、そのボタンをクリックするだけでSSH接続が出来ます。非常に簡単です。これだけです。
TeraTerm等のフリーソフトも要らず、ブラウザだけでSSH接続が出来ます。便利な世の中になりました。はい。
4.「Container-Optimized OS」で使えるdockerコマンドについて
「Container-Optimized OS」は標準でdockerコマンドが使えます。インスタンス起動後にdockerコンテナ環境をすぐに使えるのでとてもオススメです。
dockerコマンドは、一度実行すれば覚えれるほどシンプルだと思います。
(1)基本コマンド
「docker images」コマンドでイメージがローカル環境にあるかどうか確認します。デフォルトではイメージは0個です。
「docker search」コマンドで「docker hub」からイメージを検索します。
「docker pull」 コマンドで「docker hub」からイメージをダウンロードします。
(2)コンテナが1個の場合
「docker run」コマンドでコンテナ作成、起動します。
「docker commit」コマンドでカスタマイズしたコンテナからイメージを作成します。
「docker ps」コマンドで起動しているコンテナを確認できます。
「docker ps -a」コマンドで停止しているコンテナも含めコンテナ一覧を確認できます。
「docker start」コマンドでコンテナの起動が行えます。
「docker stop」コマンドでコンテナの停止が行えます。
「docker restart」でコンテナ再起動が行えます。
「docker logs」コマンドでログ確認が行えます。
「docker rm」コマンドでコンテナ削除が行えます。
「docker rmi」コマンドでイメージ削除が行えます。
(3)コンテナが複数の場合
「docker-compose.yml」を作成します。
「docker-compose.yml」があるディレクトリで「docker-compose up -d」コマンドで複数コンテナを起動します。
「docker-compose.yml」があるディレクトリで「docker-compose down」コマンドで複数コンテナを停止します。
「docker-compose.yml」があるディレクトリで「docker-compose ps」コマンドで起動しているコンテナを確認します。
「docker-compose.yml」があるディレクトリで「docker-compose logs」コマンドでログ確認します。
(4)コンテナへログインする場合
「docker exec -ti コンテナID /bin/bash」コマンドでログインします。
ホストOSからmysqlコンテナへmysql接続したい場合は「docker exec -it コンテナID mysql -u root -p」コマンドというようになります。
5.「Container-Optimized OS」で「docker-compose」を使う手順
以下の手順を1回実行するだけで「docker-compose」を使えるようになります。
参考URL:https://cloud.google.com/community/tutorials/docker-compose-on-container-optimized-os
docker run docker/compose:1.24.0 version
echo alias docker-compose="'"'docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$PWD:$PWD" \
-w="$PWD" \
docker/compose:1.24.0'"'" >> ~/.bashrc
source ~/.bashrc
今回の記事で紹介したコマンドだけで一通りのことができると思います。
それぞれのコマンドのオプションに「–help」を付ければ、実行したいコマンドのオプションを確認できます。
ダディ伯爵も食わず嫌いで「dockerコンテナ」を敬遠していましたが、いざ触ってみるととてもシンプルかつ簡単なので「dockerコンテナ」の虜になりそうです。
GAE無料枠を利用して個人ブログを始める手順について、以下の参考記事にまとめていますので試してみたい方はご確認ください。
- GCPのAlways FreeのGAE無料枠を使ってみた
- GAEの「無料ドメイン」と「無料SSL証明書」がとても便利♪
- 社内PCからRDP接続するために中継サーバ(Guacamole)をdockerコンテナで立ててみた
- 社内PCからGCPのdockerコンテナ環境へSSH接続する
- 「Container-Optimized OS」から「Google Container Registry(GCR)」へコンテナイメージをpushする方法
- Google Cloud Platform(GCP)認定資格の勉強方法
- GCP認定資格「Associate Cloud Engineer」を受験するための勉強方法
- GCP認定資格「Professional Cloud Architect」を受験するための勉強方法
- Google Cloud Platform(GCP)イベント「Cloud OnBoard」に参加してみた
- クレカ不要でGCPを始めよう「Qwiklabs」が無料で使える♪
- クラウド移行ツール「CloudEndure(クラウドエンデュア)」が無料で使える
- ロードバランサー比較(AWS、Azure、GCP)
- SD-WANをOSSで実現できるのか?
- マルチクラウドにおけるVPNネットワーク相互接続について