Rio Blog

世界のどこかでゆるく生きるITエンジニアのブログ

【Linux】DockerコンテナでCentOSの環境を構築する

Linux学習のために、VirtualBoxのような仮想マシンではなく、Dockerのコンテナで仮想環境を作ってみます。これからLinuxの勉強をする方は、Dockerについての知識も必須だと思うので、参考にしてみてください。なお、Dockerデスクトップがインストールされている前提ですので、まだの方はそちらを済ませておいてください。

ターミナルを起動し、以下のコマンドを実行していきます。(私のPCはMacなのでターミナルを使っていますが、Windowsの方はコマンドプロンプトですね。)

イメージを取得する

まずはCentOSのイメージをダウンロードします。

$ docker image pull centos:centos7

[:タグ名]:centos7とバージョンを指定していますが、指定しなくても構いません。指定しなかった場合はlatestとして最新版がダウンロードされます。

imageを省略し、docker pullでも動作します。Dockerのバージョンアップに伴って、コマンド体系が再編成され、”上位コマンド+副コマンド”という形式になりましたが、現時点では旧コマンドでも動作するので、どちらを使っても違いはありません。

コンテナを起動する

イメージからコンテナを起動します。

$ docker run -it -d --name centos centos:centos7

コマンド・オプションについて

  • docker run: Dockerコンテナを実行するためのコマンド。
  • -it: 2つのオプション -i(対話モード) と -t(TTY、疑似端末を提供) の組み合わせ。
  • -d: バックグラウンドモードでコンテナを実行。
  • --name centos: コンテナに centos と名前をつける。

bashを起動し、シェルに入る

コンテナが立ち上がったら、シェルを起動して中に入ります。

$ docker exec -it centos /bin/bash

# 以降、bashコマンドを実行できる
[root@97ba138aa450 /]# 

コマンド・オプションについて

  • docker exec: Dockerコンテナ内でコマンドを実行するためのコマンド。
  • -it: 先ほどと同様。
  • centos: コンテナの名前またはID。
  • /bin/bash: 実行したいコマンド。この場合、Bashシェルを起動。

適当なコマンドを試してみる

コンテナ上のシェルの中に入ったら、操作に慣れるために、適当なコマンドを入力してみます。

# CentOSのバージョンを確認
[root@97ba138aa450 /]# cat /etc/redhat-release

# カレントディレクトリのファイルとディレクトリを表示
[root@97ba138aa450 /]# ls

# ルートディレクトリがあるはずなので、移動
[root@97ba138aa450 /]# cd root

# カレントディレクトリを確認
[root@97ba138aa450 /]# pwd

ひとまずは、コマンドの意味がわからなくても、エラー以外の何かが表示されればOKです。意味や使い方、できることなどは徐々に学んでいきましょう。

シェルから出て、コンテナを停止する

最後にコンテナを停止させるコマンドです。Dockerデスクトップで停止ボタンをクリックしてもOKです。

[root@97ba138aa450 /]# exit

$ docker stop centos

おわりに

Dockerを利用することで、非常に簡単にLinux環境を構築することができました。

次の記事ではEmacsのインストールと基本的なファイル操作について解説します。