DockerfileのCMD及び, docker-compose.ymlファイルのcommandでコマンドを実行する場合、
実行できるコマンドは一つである。
この場合シェルスクリプトを実行することで、複数のコマンドを実行することも出来る
もっと単純に複数コマンドを実行する方法は
bash -c "コマンド文字列"
の用にbash -c
で呼び出してあげるだけで良い。
コンソールでbash -c "ls -l && ls"
と言うようなので実験してみると良いだろう
具体的に、elasticsearchを9200ポートと9250ポートで起動する 例を用いて紹介する
###Dockerfile
CMD bash -c "elasticsearch -d && elasticsearch --http.port=9250"
###docker-compose.yml
command: bash -c "elasticsearch -d && elasticsearch --http.port=9250"