how to send a password to MySQL with docker?
As the documentation clearly states docker run command should be invoked as follows:
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

so when you run
docker run mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password

Docker assumes -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password is a command you want to run inside the container, not a list of options for docker run command.
The proper docker run invocation with the parameters you specified is:
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql