はじめに
Windows環境でDockerを動かすためにDocker for Windowsの概要と導入を実施しましたが、PowerShell自体にどうも慣れません...。WSL2のUbuntu上で操作できたほうが色々楽です。今回はWSL2のUbuntu上でdockerをインストールして動かしてみます。
ちなみにDocker Desktop WSL 2 backend | Docker DocumentationのようにWindowsのDocker DesktopのバックエンドをWSL2にするものではなく、あくまでWSL2のUbuntuにdockerを入れるだけです。
環境
- OS: Windows10 Pro 64bit
- Version: 1909
- OS build: 18363.1256
- WLS2
- Ubuntu 20.04
dockerインストール
Ubuntuにdockerインストールするのと同じなので、下記の公式ドキュメントを利用します。
参照:Install Docker Engine on Ubuntu | Docker Documentation
# 古いバージョンのパッケージの削除
$ sudo apt-get remove docker docker-engine docker.io containerd runc
# aptパッケージの更新と、aptリポジトリを登録するために必要なパッケージのインストール
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# Docker公式のGPGキーの追加
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 先程登録したGPGキーが正当なものであるかをfingerprintからチェック
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
# リポジトリの追加
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# aptパッケージの更新と、dockerのインストール
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# インストールできているか確認
$ docker --version
Docker version 20.10.1, build 831ebea
# サービスの状態を確認
$ service docker status
* Docker is not running
# not runnningの場合はスタートさせる
$ sudo service docker start
$ service docker status
* Docker is running
# テスト
$ sudo docker run hello-world
インストール後、sudoなしでdockerコマンドを実行できるように設定します。
参考:Post-installation steps for Linux | Docker Documentation
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
# sudo なしでdockerコマンドを起動できるかチェック
$ docker run hello-world
docker-composeのインストール
更にdocker-composeもインストールします。
参照:Install Docker Compose | Docker Documentation
# curlを利用して安定版をダウンロード
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 実行権限を付与
$ sudo chmod +x /usr/local/bin/docker-compose
# シンボリックリンクの作成
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# テスト
$ docker-compose --version
docker-compose version 1.27.4, build 40524192
最後に
VM上でDockerってパフォーマンス的にどうなのかな...とは思いつつ慣れたLinuxのコマンドラインでDocker環境を構築できるのはやっぱり良いですね。
一通りインストールできたので次はRailsでも動かしてみます。