概要、趣旨
ちょっとAlmaLinuxのコマンドを試したい、確認したい
けどMacだと仮想環境の用意も手間だし、AWSに環境を作ったこともない
そんなことありませんか
Dockerを使えば簡単に環境が作れます
すぐに作れて、コンテナを削除すればすぐいちからやり直せます
用意するファイル
# 基本イメージとしてAlmaLinuxの最新版を使用
FROM almalinux:latest
# ユーザー名とパスワードのための環境変数
ARG USER_NAME
ARG USER_PASSWORD
# AlmaLinuxのパッケージ管理システムを更新し、必要なパッケージをインストール
RUN dnf -y update && \
dnf -y install sudo passwd vim wget net-tools iputils iproute bash-completion && \
dnf clean all
# 一般ユーザーの作成
RUN useradd -m ${USER_NAME} && \
echo "${USER_NAME}:${USER_PASSWORD}" | chpasswd && \
echo "${USER_NAME} ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/${USER_NAME}
# 作業ディレクトリの設定
WORKDIR /home/${USER_NAME}
# コンテナ起動時に実行するコマンド
CMD ["/bin/bash"]
docker-compose.yml
version: '3.9'
services:
almalinux_app:
build:
context: . # Dockerfileが置かれているディレクトリのパス
args: # build時の引数
USER_NAME: user # ここに一般ユーザー名を設定
USER_PASSWORD: password # ここにユーザーのパスワードを設定
container_name: almalinux_custom_container
tty: true
volumes:
- ./home:/home/user # ホストとコンテナ間でディレクトリを共有(任意)
使い方
お好みの環境で下記コマンドを実行してください
docker-compose up -d --build
私はIntellijを使用してDockerを管理しています
コンテナが立ち上がったらお使いの環境や、docker exec
コマンドでコンテナの中に入ってAlmaLinuxを使用することができます
解説
肝となっているのは
AlmaLinuxのパッケージ管理システムを更新し、必要なパッケージをインストール
というところです
DockerでインストールするLinux環境には通常ログインして使用するようなパッケージがインストールされていません
これをインストールすることによってあたかも仮想環境かのように使用することができます
この部分を 自分好みにカスタマイズ
してご利用ください
免責
私はこれをローカルでのコマンドの確認などに使用しているのであまり複雑なことは検証していません
通常インストールするAlmaLinuxとのパッケージの差の検証も行っていません