默認docker啟動進程為1
/usr/lib/jvm/java-1.8-openjdk/bin # ./jstack 1
1: Unable to get pid of LinuxThreads manager thread
解決辦法:
使用/bin/sh -c把命令寫入sh文件,然后啟動sh
比如:
/bin/sh -c
echo java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/proxy-gc.heap -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=dev -Xmx2G -Xms2G ./app.jar >start.sh && chmod 750 start.sh && ./start.sh
這樣,java進程就不為1了。
可以隨意使用java命令和工具。