K8s operator with custom ES docker image

Yes, custom Elasticsearch docker image are supported using the spec.image field. You still need to set the spec.version field.

apiVersion: elasticsearch.k8s.elastic.co/v1alpha1
kind: Elasticsearch
metadata:
  name: <cluster-name>
spec:
  image: <custom-image>
  version: 7.1.1

Note: private repository are not yet supported.

Related discussion: Using a custom docker image for Elastic Cloud on Kubernetes