Почему монтируется папка .env вместо файла .env при попытке поднять Octobercms на docker?
Потому что .env подключается вот такversion: "3.5"
services:
  db:
    build:
      context: ./docker
      dockerfile: postgresql.Dockerfile
    env_file:
      - .env
    restart: always
    volumes:
      - postgres:/var/lib/postgresql/data
    ports:
      - "127.0.0.1:5432:5432"
  redis:
    env_file:
      - .env
    restart: always
    image: redis:3.0
    expose:
      - "6379"UPD:
.env файл обычно (всегда) не ложат в контейнер, скорее наоборот всячески избегают этого,
т.к. в нём хранится чувствительная информация, как правило это различные токены и т.д. 
Хранение подобного в репозитории это плохой тон. Но можно хранить какой-нибудь example.env
 в качестве образца.
В данном образе .env файл создается автоматически при билде образа и содержит одну единственную строку.
Вот команда которой он создается:echo 'APP_ENV=docker' > .env
Если вы внимательно посмотрите в README, то увидите что там об этом говорится .
Помимо этого, автор рекомендует монтировать .env файл из вне, либо копировать его в контейнер (что является общепринятой практикой)
В Readme написано: Database credentials and other sensitive information should not be committed to the repository. Those required settings should be outlined in .env.example
Passing environment variables via Docker can be problematic in production. A phpinfo() call may leak secrets by outputting environment variables. Consider mounting a .env volume or copying it to the container directly.
Честно говоря, не понятно ваше стремление редактировать .env в самом контейнере, вместо того чтобы его пробрасывать внутрь.
Попробуйте octobercms-docker-starter-kit.