Skip to content

Limitations

Maksym Zaporozhets edited this page Jan 7, 2024 · 1 revision

Dockerizer limitations

Port bindings

We assume that each and every composition must be enclosed inside a separate Docker network. Compositions works like a remove server. Thus, developers should not use any tools from the outside world to connect to the containers: just like in production. This is why we:

  • Don't bind composition ports to the host machine - just like in production.
  • For Docker Desktop users: include the maintenance:traefik:update-networks command to keep every network separate.
  • Use only the tools available inside the containers. For example, use docker exec -it <container> mysql ... to connect to MySQL and use phpMyAdmin that is included in the dev tools. instead of using the host mysql client.

COMPOSER_VERSION

Environment variable COMPOSER_VERSION is used to specify the Composer version to install. Set it to 1 or 2 to use the corresponding Composer version.

Note that PHP 8.3 and later images include only Composer 2. Thus, this variable will not take any effect.

User and group IDs (Linux)

All PHP images include a user and group with IDs 1000:1000. This is the default user and group IDs on Ubuntu. If you use a different user ID on your host machine, you will have issues with file permissions and sharing files between the host OS and the Docker container. We recommend using the same user ID on your host machine and inside the containers.

MySQL images

For now, we support only the following MySQL images:

  1. MySQL password must not contain single quotes ('), double quotes ("), or backslash (\). Unfortunately, entrypoint scripts in different MySQL images use password environment variable differently. It is almost impossible to make it work with all of them. Thus, we decided to limit the password to a string without quotes. Other special characters are allowed.
  2. Remember that $ character in the MySQL password becomes $$ in the YAML files. Thus, $$$ becomes $$$$$$ in your docker-compose*.yaml files. This is specifics of the YAML format.
Clone this wiki locally