#始めに
WAS Liberty 環境を Docker 上で動かしてみようをみてDocker上でWASを動かしてみることにする。
まずは、Docker-ToolBoxを導入しようとしたのだが、上記サイトで紹介されているリンクからだと、Docker-ToolBoxのダウンロードサイトにジャンプすることができない
Googleで検索したところ、docker-ToolBoxのダウンロードサイトは
https://www.docker.com/get-docker
のようだ
#dockerセットアップ時に発生するエラーの対処方法
##Docker Quickstart Terminalをダブルクリックするとエラーになる 1
Dockerのインストール時にGitのインストールを選択しない場合、「Docker Quickstart Terminal」のショートカットのパスにインストールされたGitのBashを指定する必要がある
##Docker Quickstart Terminalをダブルクリックするとエラーになる 2
Docker Quickstart Terminalをダブルクリックして
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
のエラーが出る場合は、OSのBIOS上で仮想化の設定を行う必要がある。
ちなみにWin10でBIOSの設定画面を立ち上げるには設定から「更新とセキュリティ」を経由する必要がある
(参考サイト)http://tanweb.net/2017/12/22/17401/
#WASの起動
1.WAS Liberty の仮想イメージを Dokcer Hub からダウンロードする
以下のコマンドを実行する
docker pull websphere-liberty
2.仮想イメージの起動を実行する
(1)対話モードでの実行
以下のコマンドを実行する
docker run -it websphere-liberty
(2)バックグランドモードでの実行
以下のコマンドを実行する
docker run -d -p 80:9080 --name wlp websphere-liberty
(3)ログの確認
以下のコマンドを実行する
docker logs --tail=all -f wlp
(4)IPアドレスを確認する
以下のコマンドを実行する
docker-machine ip
#アプリケーションをデプロイする
1.仮想環境へのアプリケーションのアップロード
docker-machine scp localhost:/docker/ci.docker.tutorials/app/ServletApp.war $(docker-machine active):/tmp/ServletApp.war
でうまくいくとされているが、
docker@127.0.0.1's password:
Permission denied, please try again.
と設定した覚えのないdocker@127.0.0.1のパスワードを求められうまくいかなかった。
仕方がないのでWinSCPを入れてSCPを入れたらうまく仮想環境にファイルをアップロードできたよ
2.アプリケーションをデブロイする
以下のコマンドを実行する
docker run -d -p 80:9080 --name=app -v /tmp/ServletApp.war:/config/dropins/app.war websphere-liberty
(コマンドの意味)
ホスト側はポート80、ゲスト側はポート9080でゲストの/tmp/ServletApp.war
に配置したWebアプリケーションをデブロイする
3.デプロイしたアプリケーションがゲスト端末で起動していることを確認する
以下のコマンドを実行する
docker ps
3.デプロイしたアプリケーションを停止させ、アンデプロイする
以下のコマンドを実行する
- docker kill app
- docker rm app
4.Dockerfileからファイルからアプリケーションをデプロイする
(1)Dockerfileの中身
FROM websphere-liberty
ADD ServletApp.war /config/dropins/app.war
(2)実行するコマンド
docker run -d -p 80:9080 --name=app app