WSL2にdockerを導入
せっかく WSL2 に移行したので docker もインストールしてみました.
導入手順
インターネット検索すれば日本語の記事がたくさん出てきますが, WSL2 はかなり新しい技術で変化が非常に速いですから, 公式の情報に従うのが一番でしょう. 幸いにも日本語化されているのでとても楽です.
- Docker Desktop WSL 2 バックエンド — Docker-docs-ja 19.03 ドキュメント
- Windows Subsystem for Linux で Docker コンテナーの使用を開始する | Microsoft Docs
この通りにインストールしたら簡単にできました. Linux 側に docker をインストールする必要はなく,
Win10 側で Docker Desktop が動いていれば docker コマンドが通ります (!).
勝手にスタートアップに登録されるのですが, 起動時にそこそこ負荷がかかるしメモリも圧迫します. 日常的に使うのならその方が便利なのでしょうけれども, 導入した PC ではそんなに頻繁には使わないと思われるのでオフにしました. 使うときに起動すればよいでしょう.
使い方
docker はすぐにコマンドを忘れるんですよね...
イメージ
docker imagesまたはdocker image ls: ローカルにあるイメージの一覧docker pull debian:stable-slimとか: Docker Hub からイメージをダウンロード
コンテナ
docker ps -a: コンテナの稼働状況の一覧docker run -it [image]:[image]をもとにコンテナを作成し対話モードでアタッチ--name [name]でコンテナ名を指定-v [HOST]:[CONTAINER]でホスト側のパス[HOST]をコンテナ側のパス[CONTAINER]としてマウント- 注意: オプションはイメージ名の前で指定すること
docker start [id]: コンテナ[id]を起動- オプション
-aiで対話モードで起動しアタッチする (--attach --interactiveの略)
- オプション
docker stop [id]: コンテナ[id]を停止docker attach [id]: 起動しているコンテナ[id]にアタッチC-p C-q: コンテナからデタッチ- この記事に従って WSL2 側の設定ファイルをいじれば変更できる
その他
docker cp [file] [id]:[path]: ローカルのファイル[file]をコンテナ[id]のパス[path]にコピー- ホスト側とコンテナ側は逆でも可
- コンテナが停止していてもよい