0

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?

1 Answer 1

0

I've discovered that docker run and docker start are different. docker run creates 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 88e447e1cd78 and then delete it with sudo docker rm 88e447e1cd78.

I think I could have just used sudo docker start syncthing after that point, but I also deleted the old container and then ran the script again to create a new container after reenabling the --name line.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.