Dockerの勉強をしたいのですが、会社ではEsxi上でのVMで作業しており
VM上ではDockerができないみたい、、、、と諦めていたのですが
VMware社謹製のPhoton OSというのもを入れれば、使える、みたいな情報を知りました。
これはいれるしかない
早速イメージをとってきて、いざ使おう、としたところ、
ネットワーク設定で大いにつまづきました。。。
もう1年ぐらいほったらかしだったかも。。。
①キー入力がおかしいので、設定ファイルの編集が思った通りにできない
②社内の別PCからPhotonOSまでsshがつながらない
③PhotonOSが社外に出れない
の3重苦です。
一つ一つ見ていきます。
つまづいたところ
キー入力がおかしいので、設定ファイルの編集が思った通りにできない
VMを入れるときは、Windows,Linuxどちらも発生する、キーボード認識問題です。
英語キーボードと認識されているようなので、それを何とか日本語にしないと
viで修正するとき、最後の「:wq」の「:」で盛大につまづきます。
日本語キーボードへの変更方法が良くわかっていないので
毎回手探りで「:」を探します。
ちなみに「:」は、本当の「:」の左の「;」をShiftキーを押しながら押すと出ます。
あと、設定の中で「=」も書かないといけませんでした。
これは本当の「=」の一つ左の「^」をShiftキーを押さずそのまま押すと出ます。
もうこれでせっかく設定があっていた時もあった内容が
入力ミスでうまく動かなかった時があり、毎回悩まされます。
結局、日本語キーボード化はうまくいかないので、先に進みます。
社内の別PCからPhotonOSまでsshがつながらない
もともとPhotonOSはssh接続が有効になっているようで、
そこはとても助かると思っていたのですが
どうもそれでも接続できません。
どうやらネットワーク設定で、自分のIPがちゃんと設定できていなかったようです。
設定自体は以下のファイルをいじりました。
/etc/systemd/network/xxx-static.network
/etc/systemd/network/xx-dhcp-en.network
1つ目のstaticのファイルは
https://mako-note.com/ja/esxi-photonos/
をもとに Address DNS Gatewayを
[Address][Network][Route]それぞれ分けて書いてみたのですが
うまくIPが設定できない、、、
結局、すべて[Network]にAddress DNS Gatewayを書いたらうまくIPが認識できました。
私の書き方が悪かっただけで、[Address][Network][Route]それぞれ分けてもいけるかもしれませんが、原因切り分けができませんでした。
あと、設定変更後、ネットワークを再認識させるためのコマンド
systemctl restart systemd-networkd.service
ですが、そのあとちゃんと認識できているか
確認していなかった(できなかった)のも
正しく設定するまで時間がかかった要因でした。
おかしな状態で実行しても、エラーとか出なかったような、、、
ip addr show
を打てば、ネットワークの認識状態で私の場合はeth0に対して
IPが設定できているかが確認できました。
PhotonOSが社外に出れない
せっかくIPが設定できて、teratermで接続できるようになっても
まだ外にはつながりません。
結論としては Address の設定の仕方に問題がありました。
誤:xxx.xxx.xxx.xxx
正:xxx.xxx.xxx.xxx/24
24はうちのサブネットマスクの事情で、他の方は読み替えていただきたいのですが
サブネットマスクを指定しないと外には行けませんでした。
まとめ
teratermが繋がったら、英語キーボード問題からも解放され
普通に文字が打てるようになったので、外に出る設定の調査もはかどりました。
これでDocker三昧だ!