Dockerのプログラミングメモ第2回です。何回かに分けてメモを投稿していきます。
第2回はLinuxの概要/GCPでGCEを起動しUbuntuをインストールするまでをメモしていきます。
第1回では、MacにDockerをインストールしてCentOSを起動しましたが、業務で使うにはもっと体系的に学習したほうが良さそうだと感じました。
そこで、Dockerを理解する上で重要な、Linuxの基礎とNetworkの基礎の把握から進めていきます。
また、せっかくLinuxの環境を準備するのであれば、一緒にGCPとUbuntuにも入門しちゃいます。
【参考記事】
- 【Udemy】もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう
- 【Udemy】【3週間で学ぶ】Amazon Linux Bash シェルスクリプト実践講座!!初心者でも1からマスターする
- 【Udemy】Linux とネットワークの基礎から学ぶ Docker 入門
【関連記事】
- 【第1回】Dockerインストール→Linux(CentOS7)を起動
- 【第2回】Linuxの概要/GCPでUbuntuをインストール
- 【第3回】WEBサーバを構築(Nginx)/ネットワークの概要
- 【第4回】WEBアプリ構築/Dockerでの環境構築準備
- 【第5回】Dockerの概要
- 【第6回】Dockerのインストール・作成・起動・停止
- 【第7回】PHPの開発環境を構築(PHPとApacheのみ)
- 【第8回】PHPの開発環境を構築(docker-composeで複数コンテナを一括で起動)
- 【第9回】PHPの環境構築_その2_(環境構築自動化)
Linux第2回のポイント
- Linuxの環境構築
- DockerとLinuxをより詳細に把握するため、GCP環境でUbuntuを起動していく
GCPの概要
GCPとは
- Googleが提供するクラウドコンピューティングサービス
- 仮想マシンやデータベース、データ分析ツールなどを利用可能
- GCPには多くのサービスがある。この記事で使用するのは、Google Compute Engine(GCE)
GCPの無料枠
- 90日間$300分の無料トライアルが与えられる
- クレジットカードの登録は必要/自動課金はない
- こまめに仮想マシンを停止、削除することで料金を抑えることができる
Linuxの概要
Linuxとは
- WindowsやmacOSと並ぶOSの一種
- OSS
- 無料でも使用可能
- サーバーの用途でよく使う
GCP上でLinuxの仮想マシン(GCE)を起動する
起動について
> GCPにログイン(Googleアカウントでログイン可能)
> Compute Engine
> VM instance
> インスタンスを作成
> デフォルト設定から変更する箇所
リージョン:東京
ブートディスク
OS Ubuntu 18.04 LTS
ファイアウォール
HTTPトラフィックを許可する
> 上記の設定だと月額32ドル程度(202302現在)
停止と削除について
- 気軽に停止/削除して料金を抑えることができる
- 停止の場合:ディスク料金が少しかかるが構築した環境から再開可能
- 削除の場合:料金はかからないが構築した環境がなくなる
SSH接続してHello, Worldまで
・SSHボタンをクリック
・ブラウザからSSHが可能
$ echo Hello, World
Hello, World
Linuxファイル操作の基本的なコマンド
pwd # カレントディレクトリを表示
ls # リスト。ディレクトリ内のリストを表示
cd # カレントディレクトリを移動
touch # ファイルを作成
cat # ファイルの中身を表示
vi # Linuxのターミナル上で動作するエディタ
rm # ファイルを削除
コマンドの実行とPATH
組み込みコマンドと外部コマンド
組み込みコマンド
バッシュに組み込まれているコマンド
$ type echo
echo is a shell builtin
外部コマンド
OSのどこかのファイルに書かれているコマンド
$ type cat
cat is /bin/cat
PATH
外部コマンドを実行する際は、どこにあるか書いておく必要がある。
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
また、PATHに書いておくだけで、コマンドが実行できない場合がある
依存関係があるライブラリが必要になる老婆愛があるため、
sのため、aptコマンドで、依存関係があるファイルを一括でDLする