Skip to content

開発 PC の WSL にインポートして使うためのコンテナ

License

Notifications You must be signed in to change notification settings

RyoWakabayashi/wsl-container-for-developers

Repository files navigation

WSL Container for Developers

開発 PC の WSL にインポートして使うためのコンテナ

必要な環境

ビルド環境

macOS 、 Linux もしくは Windows の WSL 上でビルドする

WSL 環境

Windows の WSL にインポートする

WSL2

編集・ビルド用セットアップ

asdf のプラグインをインストールする

asdf plugin-add direnv \
  ; asdf plugin-add hadolint \
  ; asdf plugin-add nodejs \
  ; asdf plugin-add python \
  ; asdf plugin-add shellcheck

asdf で Python と Node.js をインストールする

asdf install

依存パッケージをインストールする

npm install \
  && pip install --requirement requirements.txt

静的解析を実行する

pre-commit run --all-files

静的解析をコミット時に自動実行する

pre-commit install

コンテナのビルド

非プロキシー環境

docker-compose build

プロキシー環境

proxy ブランチに切り替えてからビルドする

git brach proxy

環境変数が設定されていることを確認する

printenv http_proxy

環境変数が設定されていない場合、設定してからビルドする

export http_proxy=<プロキシサーバー:ポート番号>
docker-compose build

コンテナのエクスポート

コンテナの起動

docker-compose up -d

コンテナのエクスポート

docker export dev -o dev.tar.gz

コンテナの停止・削除

docker-compose down

コンテナの動作確認

コンテナ内に AWS 設定や Git 設定を引き継ぎたい場合、以下のように起動する

docker-compose \
  -f docker-compose.yml \
  -f docker-compose.exec.yml \
  up -d
docker exec -it dev zsh

コンテナのインポート

以降は WSL を起動する Windows 上の PowerShell ターミナルで実行する

wsl --import dev $HOME/AppData/dev ./dev.tar.gz

コンテナ (WSL のディストリビューション) を削除する場合は以下のコマンドを実行する

入れ替える場合は削除後に再度インポートする

wsl --unregister dev

WSL の設定

初回導入時、以下に示す ./config/.wslconfig を編集し、ホームディレクトリーにコピーする

localhostForwarding=True # localhost で WSL にアクセスできるようにする
memory=2GB # メモリサイズは環境によって変更する
cp ./config/.wslconfig ~/.wslconfig

WSL の起動

wsl -d dev

WSL への設定情報のコピー

Windows の設定情報を WSL 上にコピーする

AWS の設定情報

./scripts/copy_aws_config.sh

AWS に接続できることを確認する

aws sts get-caller-identity

SSH の設定情報

./scripts/copy_ssh_config.sh

パスフレーズを設定している場合、入力を求められる

Enter passphrase for /home/ubuntu/.ssh/<秘密鍵ファイル>:

SSH 接続できることを確認する

ssh github.com

Git の設定情報

./scripts/copy_git_config.sh

Git の設定情報を確認する

git config user.name
git config user.email

WSL への VSCode 拡張機能のインストール

./scripts/install_vscode_extensions.sh

About

開発 PC の WSL にインポートして使うためのコンテナ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published