Context
We are developing a highly customised version of the Docker for Azure and we are changing many parts of the ARM templates to accommodate the specific configuration we are trying to implement.
Expected behavior
- VMSS swarm agents custom name (defined in cusotm ARM template) should be compatible with
meta-azure
so that agents can join the swarm. - Usernames for the manager and workers should be customisable in the ARM template so that using the
docker
user is not mandatory.
Actual behavior
- Custom VMSS worker name breaks Docker-swarm join functionality.
- Custom username breaks Docker-swarm join functionality.
Additional Information
It would be very good to be able to use the inherent parameterisation of the ARM template to implement custom builds of Docker for Azure, but meta-azure
has these values hard-coded.
The build process pipes a lot of information from the ARM template to the Azure containers (such as meta-azure
) - it seems to me a similar process can be used for that meta-azure
container to be passed the relevant customised paramters (username, vm worker name). Unfortunately we can’t even get into the details of the docker4x images to identify/fix the issue ourselves.
Related article: WORKER_TOKEN=Access Denied
Steps to reproduce the behavior
- modify ARM template to create swarm workers with customised names
- modify ARM template to have a custom username for the VM images
- Build the environment
docker node ls
to display nodes- notice that no workers have joined the swarm