Elasticsearch settings do not seem to be applied via Docker env variables?

So, I've created a test cluster on my laptop with no authentication. I bind mount the elasticsearch.yml file to my elasticsearch container. And I'm still getting cors errors.

Note: I've had this mini cluster running for a couple weeks getting data pushed into it from some vagrant virtual machines.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://learnes1:9200/filebeat-7.5.1-2020.01.14. (Reason: CORS request did not succeed).

My docker-compose.yml file:

version: '3.3'
volumes:
  learnes_cluster_esdata1:
    driver: local
  learnes_cluster_esdata2:
    driver: local
  learnes_cluster_eslogs1:
    driver: local
  learnes_cluster_eslogs2:
    driver: local

services:
  learnes1:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
    container_name: learnes1
    environment:
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./config/elasticsearch/learnes1/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - learnes_cluster_esdata1:/usr/share/elasticsearch/data
      - learnes_cluster_eslogs1:/usr/share/elasticsearch/logs
    ports:
      - 9200:9200
    healthcheck:
      test: ["CMD", "curl","-s" ,"-f", "http://localhost:9200/_cat/health"]
    networks:
      - elknet
    restart: always
  kibana:
    container_name: kibana
    image: docker.elastic.co/kibana/kibana:7.5.1
    environment:
      #SERVER_NAME: 127.0.0.1
      ELASTICSEARCH_HOSTS: http://learnes1:9200
      SERVER_HOST: 0.0.0.0
      SERVER_PORT: 5601
      ELASTICSEARCH_USERNAME: kibana
      ELASTICSEARCH_PASSWORD: password
#      SERVER_BASEPATH: /kibana
#      SERVER_REWRITEBASEPATH: "true"
    ports:
      - 5601:5601
    networks:
      - elknet
    restart: always
    depends_on:
      - learnes1
  # logstash:
  #   container_name: learnes_logstash
  #   image: docker.elastic.co/logstash/logstash:7.5.1
  #   volumes:
  #     - ./config/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
  #     - ./config/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
  #     - ./config/logstash/elasticsearch-template-es7x.json:/usr/share/logstash/config/elasticsearch-template-es7x.json
  #     # - /srv/logstash/data/logstash/:/srv/
  #   networks:
  #     - elknet
  #   restart: always

networks:
  elknet:
    driver: bridge
    driver_opts:
      com.docker.network.bridge.name: elknet

My elasticsearch.yml file:

cluster:
  name: learnes-cluster
  # initial_master_nodes:
  #   - learnes1

node:
  name: learnes1
  master: true
path:
  data: /usr/share/elasticsearch/data
  logs: /usr/share/elasticsearch/logs

network:
  host: _site_

discovery:
  seed_hosts:
    - learnes1
  type: single-node

http:
  cors:
    enabled: true
    allow-origin: "*"
    allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization,Access-Control-Allow-Origin
    allow-credentials: true


xpack:
  license:
    self_generated:
      type: basic
  ilm:
    enabled: true
  monitoring:
    enabled: false

bootstrap:
  memory_lock: true

I ran dejavu via this command:

docker run -it --rm --network elklearn_elknet -p 1358:1358 appbaseio/dejavu

And Mirage via:

docker run -it --network elklearn_elknet --rm -p 3030:3030  appbaseio/mirage

If I enter the mirage container and add curl, I can query http://learnes1:9200/_cat/health just fine, so it's not a connection error between the two containers.

So, as far as I can tell, Elasticsearch either isn't getting configured from my configuration file, or it's ignoring my cors settings.

Any ideas?