LoginSignup
0
2

More than 3 years have passed since last update.

Linuxの演習用環境を手軽に準備する方法のメモ

Last updated at Posted at 2020-02-21

Linuxコマンドを叩いたことのない人向けに、Linuxコマンドの演習用環境を用意した時のメモ

主な要件と状況

・手軽に用意したい
・別途費用が発生して欲しくない(純粋なマシン利用料含め、準備にかかるコスト)
・手元にあるLinuxマシンが1台だけ使える
常用しているマシンのため荒らして欲しくない

結論

DockerコンテナでLinux環境を用意することで、一部の特権的操作を除き作業できる環境を用意する。

下記のようなdocker-composeファイルを作り、centosを使用できるコンテナを用意する。
centos/tools:latestイメージは、centosに基本的なツールを入れてあるイメージです。
普通のcentosイメージの場合、minimalな状態のため別途ツールを入れる必要があるため、こちらを利用する。
※ただ、このイメージを使ってもnetstatなどのコマンドが入らないため別途精査する必要はある。

docker-compose.yml
services:
  cent:
    image: centos/tools:latest
    container_name: cent
    tty: true

あとは適当なLinuxユーザを作成して、dockerグループへ所属させる。
あとはコンテナへアクセスするためのdocker execコマンドを叩いてもらうだけ。

docker グループを明け渡すことも若干抵抗があるので、コンテナのsshポートを開けて接続してもらう方がいいかもしれない。

特権が必要なコマンドを実行する方法(未調査)

下記のようにprivilegedや/sbin/initなどを使うことで特権コマンドも使えるようになるっぽい。
今回のケースでは、ホストマシン側の影響を少なくしたかったので使用は避けたが、どうでもいいマシンならこの方法を取りたい。
docker run -it -d --privileged --name centos7 centos:7 /sbin/init

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