docker-composeでサイドカー方式を取りたい
結論
ボリュームを共有して擬似的に行う。
kubanetesみたいに、一つのホストに複数プロセスを共存させるやり方はできなさそう。
version: '3'
services:
tomcat:
image: tomcat:alpine
container_name: "tomcat"
volumes:
- logs:/usr/local/tomcat/logs
ports:
- "8080:8080"
localhost_logger:
image: busybox
volumes:
- logs:/logs
stop_signal: SIGKILL
command: ["/bin/sh", "-c", "
while [ ! -e /logs/localhost.*.log ];
do
echo \"Waiting for localhost to become available\";
sleep 2;
done;
tail -f /logs/localhost.*.log"]
access_logger:
image: busybox
volumes:
- logs:/logs
stop_signal: SIGKILL
command: ["/bin/sh", "-c", "
while [ ! -e /logs/localhost_access_log.*.txt ];
do
echo \"Waiting for localhost_access_log to become available\";
sleep 2;
done;
tail -f /logs/localhost_access_log.*.txt"]
volumes:
logs: