I'd really disagree here. Two choices that Alpine made can be really nasty to debug or work around if you are unaware of using Alpine - especially if you're extending from some Docker image that extends from another Docker image that has Alpine as core:
1. musl libc. It's not binary compatible with libc and many Docker image builders don't bother to ship the libc-compat package which means if you're adding (for example) some Java library that has native parts depending on libc, you'll get weird errors.
2. busybox as default shell instead of a real bash. Way too many external scripts depend on various degrees of bash features.