3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

Docker を使った [試して理解] Linuxの仕組みの為の環境構築

Posted at

概要

LinuxOS において,プロセス管理,プロセススケジューラ,メモリ管理など、OS とハードウェアに関する仕組みを体系的に解説している、 [試して理解] Linuxの仕組み 、という書籍の中では様々な実験が行われています。ローカル環境に依存せず、誰でも簡単に実験環境を構築をすることが本記事の目的です。

この記事の対象読者

  • [試して理解] Linuxの仕組み を使って、Linuxの勉強をしたい人
  • Dockerの基本的なコマンドを扱える人
  • MacOS や Windows 上でLinux環境を構築する必要がある人
  • Linuxを使っているが、特定のバージョンで上記の書籍の実験を行いたい人

Dockerfile

FROM ubuntu:22.04

# コンテナ内のタイムゾーン
ENV TZ=Asia/Tokyo

RUN apt update && apt install sudo

# 上記のタイムゾーンを設定する
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN sudo apt update
RUN sudo apt install binutils build-essential golang sysstat python3-matplotlib python3-pil fonts-takao fio qemu-kvm virt-manager libvirt-clients virtinst jq docker.io containerd libvirt-daemon-system strace -y
RUN sudo adduser `id -un` libvirt
RUN sudo adduser `id -un` libvirt-qemu
RUN sudo adduser `id -un` kvm

タイムゾーン設定の必要性

書籍内の実験に必要なライブラリをインストールする際、使用タイムゾーンの入力を求められます。
この手動入力を回避するため、Dockerfile内にてタイムゾーン設定するコマンドを記述しています。

Docker コマンド例

Docker イメージのビルド

docker build . -t linux-practice

Docker コンテナの作成とディレクトリのマウント

docker run -p 5050:5050 -v $(pwd):/linux-practice -it linux-practice
3
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?