3361 это проброшенный в хостовую систему порт, чтобы можно было подключиться к MySQL не заходя в контейнер, но внутри контейнера MySQL слушает порт 3306.
Если хочешь, чтобы из контейнера с PHP можно было подключаться к другому порту (зачем?) поменяй порт в конфиге MySQL.
'dsn' => 'mysql:host=mariadb;port=3361;dbname=demo_site;',
Так не заработает, ведь этот порт из контейнера недоступен, ввиду того, что он находится в хостовой системе, то есть за рамками контейнера и виртуальной сети, которая объединяет контейнеры.