Configuration labels are special Docker Compose labels that can be assigned to containers in your docksal.yml
or docksal-local.yml
files and impact how containers function in Docksal.
For example this will create a yoda
service, based on cli
, that has shell and user overridden so that npm
and node
commands would execute properly against it (e.g., fin exec --in=yoda npm -v
).
services:
yoda:
labels:
- io.docksal.shell=bash
- io.docksal.user=docker
extends:
file: ${HOME}/.docksal/stacks/services.yml
service: cli
Specify which shell to use when fin exec --in=container ...
or fin bash container
commands are executed for the container.
You must make sure that the shell you specify is installed in the container or the command will fail.
Specify which user to use when fin exec --in=container ...
or fin bash container
commands are executed for the container.
Assign custom virtual host for a container. This will only make sense if the container exposes a web interface, e.g.,
labels:
- io.docksal.virtual-host=nodeapp.${VIRTUAL_HOST}
Assign to which port on the destination container to route web requests, e.g., for node app that exposes port 3000
labels:
- io.docksal.virtual-host=nodeapp.${VIRTUAL_HOST}
- io.docksal.virtual-port=3000