Docker Community Forums

Share and learn in the Docker community.

Please help with Docker config

Hello, I´m a newbie with Docker. I just installed Docker on Debian9. Try to run this docker: https://hub.docker.com/r/instantlinux/open-xchange-appsuite/

But It want run because of this error:
root@intra:~# docker run instantlinux/open-xchange-appsuite
** This container will not run without secrets **
** Specify ox-admin-password, ox-db-password, ox-master-password **

So I need to define those secrets. But I really don´t know how. I know that I should edit some kubernetes or docker swarm but I don´t know where to find it…
Please could anyone help me with this?
Thank you very much.

Hello superajtak,

Did you read the overview page of the image on dockerhub.
The procedure seems to be defined there https://hub.docker.com/r/instantlinux/open-xchange-appsuite

Best Regards,
Fouscou

Yes, but how to edit kubernetes in this docker? How to make docker swarm in this docker?

The whole description assumes that you use the predefined k8s deployment descriptors (or a helm chart?) or the docker-compose.yml. Though, the maintainer actualy forgot to link them. Without them, the description is insufficient.

Also: are you even running a Swarm or Kubernetes cluster? If you didn’t specifically enable swarm or install a Kubernetes cluster, the anser is high likely “no”…

You need to get in touch with the maintainer and ask him to fix the documentation.

update:
After I searched the github repo, I did find the docker-compose.yml needed to make docker Swarm deployment. Fetch the docker-compose.yml with this command:

wget -L https://raw.githubusercontent.com/instantlinux/docker-tools/master/images/open-xchange-appsuite/docker-compose.yml

Then set your secrets:

echo -n mysecret1 | docker secret create ox-admin-password -
echo -n mysecret2 | docker secret create ox-db-password -
echo -n mysecret3 | docker secret create ox-master-password -

mysecret1, mysecret2, mysecre3 are strings, please replace them with whatever password you want to use when running the commands.

Then deploy the stack with docker stack deploy -c docker-compose.yml stackname (replace stackname with however you want to name your stack)

If you didn’t initiate a swarm cluster yet, use the command docker swarm init to initate a swarm.

This is NOT a docker. The maintainer provides a docker image, when you run it, it is a container. And you do not edit Kuberenetes or Swarm with a container - your use Kuberentes or Swarm as an orchestrator to deploy the container.

Thank you very much @meyay but I´m little bit lost. If I download docker-compose.yaml I don´t have to install the k8s and only use standard docker swarm?
I cloned k8s and there is /images/open-xchange-appsuite/docker-compose.yml but also kubernetes.yaml - I only have to edit one of them?
How to run it after I will edit docker-compose.yml ?

uhm, all answers are in my previous post…

Sorry, but I´m lost, don´t know where to start…

root@intra:/docker-tools/images/open-xchange-appsuite# docker swarm init
Swarm initialized: current node (wlevrkhf9hniyfj628w3v1i42) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-2xrmxuroykyr634kpis9zvt29jhser7bxta96es1aq97q57t80-4fb34as9jj8gj7phmqc2zm53n 192.168.0.251:2377

To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

root@intra:/docker-tools/images/open-xchange-appsuite# echo -n mysecret1 | docker secret create ox-admin-password -
kvb7epwttg1ets1qv3zzhsqcu
root@intra:/docker-tools/images/open-xchange-appsuite# echo -n mysecret2 | docker secret create ox-db-password -
vcxg8s0bzq5gysvqclr28y806
root@intra:/docker-tools/images/open-xchange-appsuite# echo -n mysecret3 | docker secret create ox-master-password -
up3d8afcfbt4g7z6h5v9xm7tl
root@intra:/docker-tools/images/open-xchange-appsuite# docker stack deploy -c docker-compose.yml oxapp
network “app_net” is declared as external, but could not be found. You need to create a swarm-scoped network before the stack is deployed

You are almost there…

In the docker-compose.yml, the network is declared as external, people typlicaly use this to have seperate network attached where a loadbalancer is running

networks:
  default:
    external:
      name: app_net

Just remove the last two line to let Docker Swarm create a Stack private network:

networks:
  default:

Then deploy it again.