2019/02/09Dockerでよくある構成って下記のようなWEB+DBが多いと思います。この環境を作るのって意外と難しいんです。PostgreSQLが起動する前にWEBサービスが起動して、DBに接続できなくてWEBコンテナが落ちてしまう。いう残念なことになりがちです。DBコンテナが準備できるまで待とう!ということでいろいろ調べてみました。ゴールPostgreSQLの起動を待ってからjarファイルを実行したい。必要なツールdockerdocker-compose知識docker,docker-compose触ったことあるやっていくdepends_onサービス間の依存関係を指定したら、2つの効果があります。実行したら、依存関係のある順番に従ってサービスを起動します。依存関係を処理します。これはコンテナの起動の順番を制御するのみでサービスの起動までは面倒見てくれません。結局シェルで制御するしか方法はないみたいです。Dockerのドキュメントにも書いてありました。run.shファイルを下記のように作成します。/app/connectTest.jarを実行します。サンプルアプリケーションjavaでDBに接続してcenterinfoのテーブルのcenterinfoカラムを出力するjarファイルを作成しました。これをWEBコンテナに設置してlogsにテーブルデータが出力されれば正常に動作します。ソースはここにあります。docker-compose.ymlファイルでDockerのWEBコンテナのイメージを作成しています。Dockerfileの中身はシンプルでjarファイルをイメージの中にADDしているだけです。-dテーブル作成とデータのインサートをします。test/createTable.sqlとinsert.sqlを実行してください。動作確認コンテナを再起動します。...BareMetalのkubernetesクラスタでkube-dnsを動かす!kubernetesクラスタ環境ではpod間のアクセスに名前解決が使えます。Reserved.Translate。