【问题标题】:Docker: error 500 - failed to start containerDocker:错误 500 - 无法启动容器
【发布时间】:2018-08-08 03:24:00
【问题描述】:

我在运行java -jar shinyproxy-1.0.2.jar 并访问我的应用程序后遇到了这个问题:

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

来自shinyproxy.io 的帮助:https://www.shinyproxy.io/troubleshooting/#failed-to-start-container

我检查了防火墙,它被禁用了。

我还检查了我的 docker.service 文件,一切似乎都井然有序:

[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

我使用的是 Ubuntu 16.04。这里有什么帮助吗?

【问题讨论】:

  • 查看失败的容器日志和 Docker 守护进程的日志文件以获取线索。
  • 是的...... Spring boot 日志在这方面并没有真正的帮助

标签: java docker ubuntu-16.04 shiny-server shinyproxy


【解决方案1】:

OP 在这里回答。

我设法通过卸载所有以前的 docker 安装解决了这个问题,并按照Digital Ocean's guide 为 Ubuntu 16.04 安装 Docker。

完成此操作后,我重新配置了我的Dockerfile 以包含来自this post 的代码,以及我的application.ymldocker-cmd 行更改为docker-cmd: ["/usr/bin/shiny-server.sh"]

当然,我重新调整了我的图像,因为我还需要一些其他库和外部依赖项才能使其工作,但本质上,下载闪亮服务器文件的行是让我继续前进的那些行,让我使用java -jar shinyproxy-1.0.2.jar 启动应用程序以正确启动 Spring Boot 应用程序。

另外,为了调试在容器内运行的闪亮应用程序(当然,并非一切正常),我将Dockerfile 中的CMD 行更改为CMD ["R", "-e", "shiny::runApp('/srv/shiny-server')"],以及之前的docker-cmd 行给docker-cmd: ["R", "-e", "shiny::runApp('/srv/shiny-server/')"]

【讨论】:

    猜你喜欢
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2017-12-28
    相关资源
    最近更新 更多