動機
- Docker Desktop が有料化 になったため
- Docker Desktop には罠もあるので、それを使わずにWindowsでDocker環境を用意したい
事前準備
Windows の WSL2 に Ubuntu がインストールされていることが前提。
WSL2 Ubuntu に Docker をインストール
Windowsターミナルから Ubuntu を開いて、以下コマンドを実行していく。
apt を最新にする。
sudo apt upadate sudo apt upgrade
Docker をインストールするためのパッケージをインストール。
sudo apt install -y apt-transport-https ca-certificates gnupg-agent software-properties-common
Docker のGPGキーを取得。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
リポジトリを設定。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Docker をインストール。
sudo apt install -y docker-ce docker-ce-cli containerd.io
docker-compose をインストール。
sudo apt install docker-compose
Dockerサービスを起動。
sudo service docker start
sudo 無しで dockerコマンドを使えるようにする
sudo usermod -aG docker $USER logout
インターネット接続設定
Dockerデーモンの設定ファイルを編集。
sudo vi /etc/docker/daemon.json
daemon.json にGoogleのDNSを追記して保存。
{ "dns": ["8.8.8.8","8.8.4.4"] }
Dockerサービスを再起動。
sudo service docker restart
Docker Hub に登録
Docker Hub でアカウント作成して、ログイン。
確認メールを Verify してアカウント作成完了。
コマンドでもログインしてみる。
docker login
Dockerサービスを常時起動
さもないと、dockerコマンドを実行できない。
PC起動時のトリガ操作として、以下をタスクスケジューラに登録。
プログラム:wsl.exe
引数:sudo service docker start
パスワード無しで sudoコマンドを使えるようにする
以下コマンドで sudoersファイルを編集。
sudo visudo
# Allow members of group sudo to execute any command の項目に以下を追記。
例えば、自分のユーザー名が hoge の場合は以下です。
hoge ALL=(ALL) NOPASSWD:ALL
追記したら、Ctrl+O, Enter, Ctrl+X で保存して完了。