I'm quite new to docker.
I followed the instructions here to install and run syncthing in a docker container.
That worked great, but when I restarted the PC it auto-started the syncthing docker container, but without the extra settings in the .sh file (no volumes, no other settings I think) - it was like it was running the container with only the default settings - wouldn't sync with any other devices, nothing other than the default share, etc.
When I tried to run syncthing from the syncthing_run.sh script, it complained that there was already a docker container running with the name syncthing and I needed to delete or rename the container in order to run with that name.
I was able to get it running again with all the settings by doing sudo docker stop syncthing to stop the already-running container, then removing the --name line from the script:
IDu=$(id -u $(logname)) # Saves the logged in user id in the IDu variable
IDg=$(id -g $(logname)) # Saves the logged in user group in the IDg variable
docker run -d \
--name syncthing \ # <------------- removed this line
--hostname=syncthing-redacted \
--network=host \
-v $PWD/st-sync/:/var/syncthing/ \
-v $PWD/data/:/var/syncthing/data/ \
-v /redacted/:/var/syncthing/redacted/ \
-e TZ="Australia/Sydney" \
-e PUID=$IDu \
-e PGID=$IDg \
--restart=unless-stopped \
syncthing/syncthing:latest
then running sudo ~/docker/syncthing/syncthing_run.sh.
It seems to be running fine now, but I think it has created a new container? When I run sudo docker container ls -a | grep syncthing, I get:
88e447e1cd78 syncthing/syncthing:latest "/bin/entrypoint.sh …" 27 minutes ago Up 27 minutes (healthy)
7dd04d0701a7 syncthing/syncthing:latest "/bin/entrypoint.sh …" 12 days ago Exited (0) 34 minutes ago
How can I fix everything so the container will auto-run on startup, but with the correct settings from the .sh script, and the correct name of syncthing??
Also, how can I remove the duplicate container, and is it safe for me to do so without losing any data?
I've discovered that
docker runanddocker startare different.docker runcreates and then starts a new container.What I should have done after the reboot is
sudo docker start syncthing.Running the script again created a new container. I had to stop the running container with
sudo docker stop 88e447e1cd78and then delete it withsudo docker rm 88e447e1cd78.I think I could have just used
sudo docker start syncthingafter that point, but I also deleted the old container and then ran the script again to create a new container after reenabling the--nameline.