【Nutanix ログほいほい】開発環境の整備(VScodeとDocker)
今回は、開発用のリモートサーバをセットアップして、ローカルPCからどうやって開発やってくかの基礎部分を整備していきます
インストール・設定するもの
ローカルPCの設定
何は最近はこれさえいれときゃオッケー的な VScodeでいきます
【おてがる開発環境をつくろう】さいきょうのえでぃた VS Code - konchangakita
拡張機能はこのあたりをいれておくと良いでしょう
【おてがる開発環境をつくろう】VS Code あれもこれもエクステンション - konchangakita
今回は Remote Development を使っていきます
Postmanは一旦インストールのみくらいでOK
リモートサーバのセットアップ
OSはUbuntu 22.04でデフォルトのままインストール
open ssh インストール
$ sudo apt update $ sudo apt install openssh-server
状況確認
$ sudo systemctl status ssh ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2023-08-06 20:10:49 JST; 1min 47s ago ~~~~~~~~~~~~~(以下略)
ローカル VScode での ssh接続設定
Remote Development の Remote SSH 機能を使って接続する設定します
ssh 接続するサーバ情報を入力
コンフィグファイルの設定内容
新しく出てきたサーバ名から新規ウィンドウで開く
新しいウィンドウが立ち上がりパスワード入力
これであとは、リモートサーバでテキスト操作が簡単になります
ついでに鍵認証
ローカルのPC上で鍵を作っておき、開発サーバ側に公開鍵を設置
~$ mkdir .ssh ~$ chmod 700 .ssh ~$ cd .ssh ~/.ssh$ touch authorized_keys ~/.ssh$ chmod 600 authorized_keys
authorized_keys へ公開鍵の内容をコピペ
ローカルの VScode の Remote SSSコンフィグファイルに、秘密鍵の場所を追記(最後の行)
Host 172.16.0.6 HostName loghoi User nutanix IdentityFile C:\Users\xxx\.ssh\id_rsa
Dockerのセットアップ
ここからは VScode のリモート接続したところから操作できます
sudo無しでの Docker操作
docker グループの状況確認
$ getent group docker docker:x:136:
ユーザーを追加してリブート
$ sudo gpasswd -a nutanix docker
$ getent group docker
docker:x:136:nutanix
$ sudo reboot
sudoなしができるか確認
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
サンプルを起動
$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 719385e32844: Pull complete Digest: sha256:926fac19d22aa2d60f1a276b66a20eb765fbeea2db5dbdaafeb456ad8ce81598 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. (以下略)
状態確認
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 9c7a54a9a43c 3 months ago 13.3kB nutanix@loghoi:~$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8ac88766360b hello-world "/hello" 2 minutes ago Exited (0) 2 minutes ago hungry_snyder
リモートサーバでもVScodeの拡張機能をインストールしておくと何かと便利
コンテナやイメージの削除もGUIからできる
なんか忘れてるような気もしてるけど、一旦はここまで
次回は、フロントエンドコンテナとバックエンドコンテナを作っていきます