Docker一覧

Docker で Samba

最近 Docker によるコンテナに興味がわいて触り始めました。
これまでは仮想マシン推しだったのですが、環境の再構成や配布といった点でコンテナの方が都合が良さそうな場面も多く感じたことが理由です。

Docker とは

Docker が提供してくれる利便性については各所で説明されています。ここでは、 Docker はコンテナと呼ばれるものに環境ごとを閉じ込めて、実行させるものと考えています。
また環境を閉じ込めて実行させるものという点のみをみると、仮想マシンが提供するものと同じなのですが、コンテナの方は以下のようなメリットもあります。

  • 動作が軽量
  • コンテナサイズが小

こういった点から開発環境をコンテナで構築して使用するといった用途に使われたりします。環境が閉じているのでこれを実環境にデプロイでき、開発と実環境の差異によるトラブルも最低限になったりします。

初めてのコンテナ起動

ここでは CentOS 1708 をインストールした環境で初めてのコンテナを起動するまでを説明します。

インストール手順

CentOS 1708 の時点であっても、 yum(dnf) でインストールできるものは古いため以下のようにして新しいものをインストールするようにしました。

コンテナ起動

コンテナを作成してコンテナ内の Bash シェルを起動してみます。
以下のコマンドを実行すると、コンテナで bash が起動してそのシェルに接続されます。

起動したシェルから抜けるには、「Ctrl+P, Ctrl+Q」 と入力します。シェルを Ctrl+D で抜けると、コンテナで起動したシェルが終了するため、コンテナもまた終了状態となります。

環境を作る

こうやって作ったコンテナのなかで、必要なものをインストールして環境を整えていきます。このときに、何をやったのかをメモをとりつつ作業をするのをオススメします。
というのもコンテナにどのようなことを行って環境を作ったのかを設定ファイルのようなものに記述することによって、
その設定ファイル+αのものを配布するだけで、受け取った人が同じ環境を構築することができるようになるからです。この設定ファイルは Dockerfile と呼ばれます。
作ったコンテナのイメージをそのままエクスポートして、それを渡すと言うこともできるので Dockerfile の作成は必ずしも必要ではありません。

続きを読む