今日の勉強内容
一時期バズっていた東大のAWS授業の資料を読み進めながら、資料内のハウンドアウトを進めてみました。
AWSによるクラウド入門
https://tomomano.gitlab.io/intro-aws/
環境の準備
WSLをインストール
wsl --install -d Ubuntu
※資料中のMicrosoft公式だとwsl --install
しか書いていないが、実際は-dオプションでディストリビューションを指定する必要がある。また、後述しますがWSL2でないとdockerがうまく動かないので、このときに指定すればよかった。その場合wsl --set-default-version 2
を先に入力するのだろうか?
WSLはインストールごユーザー登録することになるのでユーザー名とパスワードを用意しておくと楽。
WSLはインストール後すぐに動いたが、2つほど後付手作業が発生したので記載。
- インストールご自動でユーザー権限モードで実行されるが、dockerがうまく動かないので管理者権限モードで起動し直した
- sudoでパスワードを何度も聞かれるのでコンソールのタイトルバーを右クリックして[プロパティ]→[オプション]タブのCtrl+Shift+C/Vをコピー/貼り付けとして使用するをONにすると楽
dockerをインストール
これが一番ハマったかも
下記サイトを参考に進行したところ最後のsudo docker run hello-world
でエラーになりました。
https://zenn.dev/thyt_lab/articles/fee07c278fcaa8
エラー内容は/var/log/docker.logに出力されていました。
エラーのときに参考にしたのはこちら
https://blog.jp.square-enix.com/iteng-blog/posts/00024-wsl2-docker-ce/
下の方のトラブルシューティングに全部書いてありました。感謝しかない。。。
トラブル2と3は前述の通りWSLの起動権限とバージョンの問題。
Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables/1.8.2 Failed to initialize nft: Protocol not supported
- トラブル1
- よくわかりませんがnfttablesは使えないのでiptables-legacyに切り替える必要があるみたいです
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.8.7 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
- トラブル2
- スクエニさんのブログでも書いてあるとおり、WSLを管理者権限で動かす必要があります
- トラブル3
- スクエニさんのブログでも書いてあるとおり、WSLのバージョンをWSL2にする必要があります
- バージョン切り替えのコマンドは
wsl --set-version Ubuntu 2
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: waiting for init preliminary setup: EOF: unknown.
Pythonのインストール
WSLにデフォルトで入っているのでインストール不要とのこと
Python3 --version
コマンドでインストール済みであることとバージョンのみ確認で終わり。
node.jsのインストール
下記ブログを参考に実行バージョンだけ資料に合わせて10に変えました。
https://qiita.com/c8h9no2/items/9a2e1278976db1b390a5
おわり
後は資料を3.5.3まで読み進めたところで時間切れ
次回はAWSアカウントを作るところから進めます。