Dockerでneofetchの検証環境を作る!


先日各種linuxのOS情報を確認するコマンドneofetchを様々な環境で試した記事を作成しました。
この記事を作成するにあたり、構築したDockerの検証環境をまとめたいと思います。

各種検証環境の作成

Dockerfileを元にイメージを作成して、そのイメージをdocker runコマンドで叩く方式を取っています。
1. Dockerfileを作成する
2. Dockerfieを元にイメージを作成する。
3. 手順2.で作成したイメージをdocker runする。
neofetchが実行されます。

Ubuntu

Dockerfile

FROM ubuntu:20.04

RUN apt update && \
    apt install -y neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_ubuntu ./ubuntu17_04
docker run --rm neofetch_ubuntu

ちなみに"--rm"はコンテナが停止した場合に削除まで自動で行うオプションです。
今回のイメージはneofetchコマンドを実行するだけなので、起動後不要なコンテナを削除するため上記オプションを指定します。

Centos

Dockerfile

FROM centos:8

RUN yum install -y wget && \
    wget https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.repo -O /etc/yum.repos.d/konimex-neofetch-epel-7.repo && \
    yum install -y neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_centos ./centos
docker run --rm neofetch_centos

Fedora

Dockerfile

FROM fedora:31

RUN dnf install -y neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_fedora ./fedora
docker run --rm neofetch_fedora

AlpineLinux

Dockerfile

FROM alpine:3

RUN apk update && \
    apk add --no-cache neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_alpine ./alpine
docker run --rm neofetch_alpine

ArchLinux

Dockerfile

FROM archlinux:20200407

RUN yes | pacman -Syu neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_arch ./arch
docker run --rm neofetch_arch

Debian

Dockerfile

FROM debian:stretch

RUN apt-get update && \
    apt-get install -y neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_debian ./debian
docker run --rm neofetch_debian

openSUSE

Dockerfile

FROM opensuse/leap

RUN zypper install -y neofetch

CMD [ "neofetch" ]

実行コマンド

docker image build -t neofetch_opensuse ./opensuse
docker run --rm neofetch_opensuse

全コマンドの実行

イメージ作成後、下記コマンドを実行することで試すことが可能です。

docker run --rm neofetch_ubuntu
docker run --rm neofetch_centos
docker run --rm neofetch_fedora
docker run --rm neofetch_alpine
docker run --rm neofetch_arch
docker run --rm neofetch_debian
docker run --rm neofetch_opensuse

まとめ

以上でneofetchを各種OSで実行する環境の完成です。
こうやっていろんなOSを気軽に試すことができるDockerって便利ですね!