「Docker」を触ってみた

【Windows環境でDockerを試走】

Dockerがサクサク動くと聞いたので実際試してみる。

  • 試した環境
    Windows10
    CPU:2.90GHz 4core
    Memory:16GB
  • 使用したツール
    Docker for Windows
  • チェックポイントとゴール
    • Dockerインストールと起動確認
    • イメージ(CentOS)のロードと起動確
    • Dockerfile(構成情報の定義)の作成と実行

イメージ:CentOS
内容:apache(httpd)インストール
tomcatインストール
webアプリケーションのデプロイ

デプロイしたアプリケーションの実行確認まで

※インストール方法等は既に色々書かれたページがある為、つまずいた箇所をメインに記載。

 

作業

①Dockerインストールと起動確認

  • インストーラーのダウンロード
    ※DockerIDが必要な為、IDを作成
  • インストーラ実行
    ※完了後、sign out(?)と合ったから、dockerのsign outと思ったら、マシン再起動だった・・・
  • マシン再起動
    Hyper-Vを有効にしろと色々書かれていたので無効のまま、インストールしたら以下の画面が表示された

OKを選択してHyperVを有効化する。(マシン再起動された)
※HyperVを有効にするとVirtualBoxが起動できなくなる為、VirtualBoxを使っている場合は注意が必要。(現状共存はできない模様)

  • 起動確認
    docker run hello-world
    ⇒失敗
    docker pull hello-world
    してから再度実行して正常実行を確認。

 

②イメージ(CentOS)のロードと起動確認

  • CentOSのイメージ取得

  • コンテナを実行

  • CentOS上でバージョン確認

 

③Dockerfile(構成情報の定義)の作成と実行

  • 以下の内容でDockerfileを作成。

httpdとtomcatの起動でずいぶん悩まされたが、最終的に上記の設定に落ち着いた。(自動起動設定をON)

systemctl start xxxを実行しようとすると、もろもろの壁にぶち当たりうまく設定できず。。。
(CMDは1個だけとか、systemctlを使用する為の壁とか

※webアプリは適当な物を作ろうと思ったが断念。動作確認用にtomcat-webappsを使用

  • 以下のコマンドでBuild
    docker build -t sample .
    ※sampleはイメージ名(自由に指定)

Warningについては今回は未調査

  • 以下のコマンドでコンテナの実行

docker run -d –privileged –name sample -p 8080:8080 sample

–name の指定はコンテナ名(自由に指定)後で停止、削除時に使えるので指定した

-p はポートフォワードの設定

–privileged は特権モードの指定(詳細は未調査)。正しくは別の方法で権限を検討すべきの模様

  • 以下のコマンドでコンテナに接続
    docker exec -it sample /bin/bash
    (sampleはコンテナ名)

(httpd、tomcatが起動できているか確認)

  • hostマシンでlocalhost:8080に接続

表示できている事を確認

感想

dockerfileで環境構築できるので、いろいろなパターンファイルを作成して用意しておけるのは助かりそう。

ここで書いた内容の操作については時間もかからなかった為、かなり快適。(docker stopは若干もたつく感があった)

 

次回以降の課題

ここで書いた・実施した内容はgoogle先生に聞けばできる内容なので、次は少しでも踏み込んだ内容にしたい。

せめてtomcat・apache連携位は入れたかった。。。