I am using Docker Desktop on a Windows 10 client that is a member of an Active Directory domain. The users on our network want GitLab as a Docker container.
The Gitlab container runs on the Win 10 Client without any issues using the following command when i am logged in:
docker run `
--detach `
--hostname gitlab.companydomain.de `
--ip 192.168.178.35 `
--publish 443:443 --publish 80:80 --publish 22:22 `
--name gitlab `
--restart always `
--volume $env:GITLAB_HOME/config:/etc/gitlab `
--volume $env:GITLAB_HOME/logs:/var/log/gitlab `
--volume $env:GITLAB_HOME/data:/var/opt/gitlab `
--shm-size 256m `
gitlab/gitlab-ce:15.4.0-ce.0 `
My problem is the following: The GitLab container doesn't run if the system has started and i am not logged in.
I have tried several configurations that i found in the internet.
First, I registered dockerd as a service with the following command:
dockerd --register-service
Then I enabled ports 22, 80 and 443 for incoming and outgoing packets in the Windows firewall.
Then I tried to adapt the daemon.json file to my needs. But I don't know if I have set the values for hosts correctly or if some values are missing. Maybe the value "hosts": ["tcp://0.0.0.0:2375", "npipe://"]
needs to be set to port 80 because the gitlab container is listening on port 80?
{
"allow-nondistributable-artifacts": [],
"authorization-plugins": [],
"bridge": "",
"cluster-advertise": "",
"cluster-store": "",
"data-root": "",
"debug": true,
"default-ulimits": {},
"dns": [],
"dns-opts": [],
"dns-search": [],
"exec-opts": [],
"experimental": false,
"features": {},
"fixed-cidr": "",
"group": "",
"hosts": ["tcp://0.0.0.0:2375","npipe://"]
"insecure-registries": [],
"labels": [],
"log-driver": "",
"log-level": "",
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5,
"max-download-attempts": 5,
"mtu": 0,
"pidfile": "",
"raw-logs": false,
"registry-mirrors": [],
"shutdown-timeout": 15,
"storage-driver": "",
"storage-opts": [],
"swarm-default-advertise-addr": "",
"tlscacert": "",
"tlscert": "",
"tlskey": "",
"tlsverify": false
}