【Docker】 Docker Desktop を使わずに Windows で Docker する

■ はじめに

https://dk521123.hatenablog.com/entry/2020/12/08/165505

で設定した Docker Desktop だが、有料化したらしいので
その代替えを調べてみた。

目次

【1】Docker Desktop の 有料化
 1)無料で使える条件
【2】関連用語
 1)Docker-CE
 2)genie
【3】構築手順
 1)Docker Desktop をアンインストール
 2)WSL2 の Ubuntuに Docker CE をインストール
 3)Linux に Docker Engineをインストール
 4)Docker を使うための設定
 5)動作確認
 6)Docker compose のインストール(任意)

【1】Docker Desktop の 有料化

「Docker Desktop 4.0」リリースで
料金プランを刷新され、有料化した

https://www.itmedia.co.jp/news/articles/2109/02/news112.html
https://forest.watch.impress.co.jp/docs/news/1347558.html

1)無料で使える条件

* 以下の条件では、そのまま無料で使える。
 => ただ、仕事では使うのは厳しい、、、

[1] スモールビジネス
(従業員数250人未満かつ年間売上高1000万ドル未満)
[2] 個人利用
[3] 教育機関
[4] 非商用のオープンソースプロジェクト

【2】関連用語

1)Docker-CE

* CE (Community Edition; コミュニティエディション)
 => 要は、Dockerの無償版

https://www.publickey1.jp/blog/17/dockerdockerdocker_enterprise_editioncommunity_edition.html

Docker社から提供される無償版のDockerは
「Docker Community Edition」(以下Docker CE)になることも発表

https://www.docker.com/docker-news-and-press/docker-launches-new-enterprise-edition-accelerate-business-critical

Docker CE is free and is available
 for Mac and Windows, for AWS and Azure, and for CentOS, Debian, Fedora and Ubuntu

Docker Community Edition for “Do IT Yourself” Dev and Ops
Docker Community Edition (CE) is a free platform for open infrastructure
 that addresses the needs of both the dev and ops communities. 

https://github.com/docker/docker-ce/blob/master/LICENSE

Apache License 2.0

2)genie

* cf. genie(ジニー) = 精霊
* WSL/WSL2 (Windows Subsystem for Linux)で
 systemdを起動するためのツール

https://dk521123.hatenablog.com/entry/2021/09/30/163020

で説明した「Genie」とは別物。

【3】構築手順

1)Docker Desktop をアンインストール
2)WSLコマンドなどでLinuxをインストール
3)Linux に Docker Engineをインストール
4)Docker を使うための設定
5)動作確認
6)Docker compose のインストール(任意)

1)Docker Desktop をアンインストール

 Control Panel などから、
Docker Desktop を Windows 上から完全に削除

2)WSLコマンドなどでLinuxをインストール

# Ubuntu の場合(今回は、Ubuntuを選択)
wsl --install -d Ubuntu

# Debian の場合
wsl --install --distribution Debian

3)Linux に Docker Engineをインストール

リポジトリのセットアップ

sudo apt-get update

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Dockerエンジンのインストール

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

4)Docker を使うための設定

一般ユーザーへの権限付与

# WSL用ユーザ を docker グループに所属させる
sudo usermod -aG docker $USER

Docker デーモンの起動の設定

# Docker デーモンを手動で起動する
sudo /etc/init.d/docker start

Docker デーモンの自動起動の設定

vi ~/.bashrc
~~~~~
sudo /etc/init.d/docker start
~~~~~

Dockerコマンドでsudo のパスワードを入力なしで使うための設定

sudo visudo
~~~~~
%docker ALL=(ALL)  NOPASSWD: /etc/init.d/docker
~~~~~

5)動作確認

sudo docker run hello-world

6)Docker compose のインストール(任意)

# インストール用ディレクトリを作成
sudo mkdir -p /usr/local/libexec/docker/cli-plugins

# docker-composeをインストール
cd /usr/local/libexec/docker/cli-plugins
sudo curl -L https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-linux-x86_64 -o docker-compose

# docker-composeに実行権限を与える
sudo chmod +x docker-compose

# 確認
docker compose version

参考文献

https://qiita.com/ohtsuka1317/items/617a865b8a9d4fb67989
https://blog.techlab-xe.net/using-docker-without-docker-desktop-1/

関連記事

Docker Desktop / WSL2 ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
Windows / Docker Desktop でのトラブル
https://dk521123.hatenablog.com/entry/2020/12/11/115814
Docker ~ 基本編 / docker-compose ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000