I tried from iOS and have the same result.
I tried with the admin account or a user account, but still don't understand why just browsing to:
http://myserver.local:22300/api/sessions even without authentication fails.
Does the server require to run in https ?
In my case it's http://__:22300

Here is my docker-compose file:

version: '3'

services:
    db:
        image: postgres:13.1
        volumes:
            - ./data/postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=dKRgwCrkmPU
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplindb
    app:
        image: joplin/server:latest
        depends_on:
            - db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=http://myserver.local:22300
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=dKRgwCrkmPU
            - POSTGRES_DATABASE=joplindb
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=db