Miguel M.
Miguel M.

Reputation: 251

Docker: error 500 - failed to start container

I encounter this issue after running java -jar shinyproxy-1.0.2.jar and access my app:

Error
Status code: 500
Message: Failed to start container: Request error: POST http://localhost:2375/containers/create: 400, body: {“message”:“invalid reference format”}
Stack Trace:
eu.openanalytics.ShinyProxyException: Failed to start container: Request error: POST

From the help on shinyproxy.io: https://www.shinyproxy.io/troubleshooting/#failed-to-start-container

I have checked the firewall and it is disabled.

I have also checked my docker.service file and everything seems in order:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -D -H tcp://127.0.0.1:2375
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

I am using Ubuntu 16.04. Any help here?

Upvotes: 0

Views: 28121

Answers (1)

Miguel M.
Miguel M.

Reputation: 251

OP answering here.

I managed to solve the issue by uninstalling all previous docker installations and followed Digital Ocean's guide to installing Docker for Ubuntu 16.04.

After this was done, I reconfigured my Dockerfile to include the code from this post, and also my application.yml to change the docker-cmd line to docker-cmd: ["/usr/bin/shiny-server.sh"]

I re-tuned my image of course, because I also needed some other libraries and external dependencies for it to work, but in essence, the lines that download the shiny-server files are the ones that got me going and let me launch the app with java -jar shinyproxy-1.0.2.jar to start the Spring boot application correctly.

Also, in order to debug the shiny app running inside the container (of course, not everything worked properly), I changed the CMDline in the Dockerfile to CMD ["R", "-e", "shiny::runApp('/srv/shiny-server')"], and the previous docker-cmd line to docker-cmd: ["R", "-e", "shiny::runApp('/srv/shiny-server/')"]

Upvotes: 3

Related Questions