0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ちょっとAlmaLinuxでのコマンドを確認したいなをDockerで実現する

Last updated at Posted at 2024-04-10

概要、趣旨

ちょっと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とのパッケージの差の検証も行っていません

0
2
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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?