最近、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 をお過ごしください。