LoginSignup
1
1

WSL 2 (AlmaLinux 8) に dockerで 開発環境準備してみる

Last updated at Posted at 2024-03-11

最近、docker desktop 以外でも開発環境作成できるようにしたいなと思い、AlmaLinux 8 でもdocker 環境を検証で作成してみました。その時の備忘録として残します。

Docker をインストールしてみよう

まずはそのままではdocker をインストールすることができないので、レポジトリをインストールします

# repository のインストール
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# repository が入ったか確認
dnf repolist

# この表示があったらオッケー
docker-ce-stable                                        Docker CE Stable - x86_64

次に、docker-ce (Community Edition) をインストールします。

# この三つをインストール
sudo dnf install docker-ce docker-ce-cli containerd.io

# インストールされる者たち

Installing:
 containerd.io                    x86_64     1.6.28-3.1.el8                                  docker-ce-stable      35 M
 docker-ce                        x86_64     3:25.0.4-1.el8                                  docker-ce-stable      26 M
 docker-ce-cli                    x86_64     1:25.0.4-1.el8                                  docker-ce-stable     7.3 M
Installing dependencies:
 checkpolicy                      x86_64     2.9-1.el8                                       baseos               347 k
 container-selinux                noarch     2:2.221.0-1.module_el8.9.0+3717+81096349        appstream             68 k
 fuse-common                      x86_64     3.3.0-17.el8                                    baseos                21 k
 fuse-overlayfs                   x86_64     1.12-1.module_el8.9.0+3643+9234dc3b             appstream             69 k
 fuse3                            x86_64     3.3.0-17.el8                                    baseos                53 k
 fuse3-libs                       x86_64     3.3.0-17.el8                                    baseos                94 k
 iptables                         x86_64     1.8.5-10.el8_9                                  baseos               590 k
 kmod                             x86_64     25-19.el8                                       baseos               125 k
 libcgroup                        x86_64     0.41-19.el8                                     baseos                69 k
 libmnl                           x86_64     1.0.4-6.el8                                     baseos                30 k
 libnetfilter_conntrack           x86_64     1.0.6-5.el8                                     baseos                65 k
 libnfnetlink                     x86_64     1.0.1-13.el8                                    baseos                33 k
 libnftnl                         x86_64     1.2.2-3.el8                                     baseos                86 k
 libselinux-utils                 x86_64     2.9-8.el8                                       baseos               242 k
 libslirp                         x86_64     4.4.0-1.module_el8.9.0+3717+81096349            appstream             69 k
 policycoreutils                  x86_64     2.9-24.el8                                      baseos               376 k
 policycoreutils-python-utils     noarch     2.9-24.el8                                      baseos               253 k
 python3-audit                    x86_64     3.0.7-5.el8                                     baseos                86 k
 python3-libselinux               x86_64     2.9-8.el8                                       baseos               282 k
 python3-libsemanage              x86_64     2.9-9.el8_6                                     baseos               127 k
 python3-policycoreutils          noarch     2.9-24.el8                                      baseos               2.2 M
 python3-setools                  x86_64     4.3.0-5.el8                                     baseos               626 k
 rpm-plugin-selinux               x86_64     4.14.3-28.el8_9                                 baseos                77 k
 selinux-policy                   noarch     3.14.3-128.el8_9.1                              baseos               663 k
 selinux-policy-targeted          noarch     3.14.3-128.el8_9.1                              baseos                15 M
 slirp4netns                      x86_64     1.2.1-1.module_el8.9.0+3643+9234dc3b            appstream             55 k
Installing weak dependencies:
 docker-buildx-plugin             x86_64     0.13.0-1.el8                                    docker-ce-stable      14 M
 docker-ce-rootless-extras        x86_64     25.0.4-1.el8                                    docker-ce-stable     5.0 M
 docker-compose-plugin            x86_64     2.24.7-1.el8                                    docker-ce-stable      13 M
Enabling module streams:
 container-tools                             rhel8

インストールされたか確認!

docker -v
=> docker のバージョン表示されたらオッケー

続いて、docker-compose を入れていきましょ!!

# docker-compose install
sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# インストールできたら、実行権限与えましょう
chmod +x /usr/local/bin/docker-compose

docker-compose --version

もし失敗したら、一回alma linux を閉じてあげて、開いてコマンドをうってみてください。

これで準備オッケー

systemd が使えない???

docker のstatus を見てみると、、、、

systemctl status docker

うん??
System has not been booted with systemd as init system (PID 1). Can't operate.

これはシンプルに systemd がPID 1 で起動していないらしいです。なんだそれ??

vim /etc/wsl.conf

# 以下のように書いてあげてください
~~~~~~~~~~~~~~~~~
[boot]
systemd=true
~~~~~~~~~~~~~~~~~

そして、powershell からwsl --shutdown して再起動
そうすると systemd がPID 1 で起動していると思います。

docker も停止状態だけど、systemctl が使えてると思います!!!

systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.docker.com

一旦、開発環境の準備できました!!!
sudo 使うのめんどくさい人は、グループの調整とかもお勧めです!!

まとめ

結構簡単にdocker 環境は作成できます。
開発環境は、ディレクトリを作成して、docker-compose (or docker compose)で環境作成してみてください。よいdocker day をお過ごしください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1