docker-compose.ymlのcommandに記述ミスがあるとエラーになる
解決
$
を $$
と記述しエスケープする
[Compose file version 3 reference | Docker Documentation](https://docs.docker.com/compose/compose-file/#variable-substitution) |
export DOCKER_HOST=`/sbin/ip route|awk '/default/ { print $$3 }'`
export DOCKER_HOST=`/sbin/ip route|awk '/default/ { print $3 }'`
事象
command: >
/bin/sh -c
"rm -f /var/tmp/pids/server.pid
&& bundle install
&& export DOCKER_HOST=`/sbin/ip route|awk '/default/ { print $3 }'`
&& bundle exec rails s"
を実行すると下記のエラーが発生する
ERROR: Invalid interpolation format for "command" option in service "rails": "/bin/sh -c "rm -f /var/tmp/pids/server.pid && bundle install && export DOCKER_HOST=`/sbin/ip route|awk '/default/ { print $3 }'` && bundle exec rails s"`