Skip to content
李扬 edited this page Sep 25, 2016 · 16 revisions

查看Docker容器运行状态

运行docker ps -a,可以看到以下输出。

root@qduoj:~# docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                   PORTS                                              NAMES
fe895daf5dc0        qduoj/judger          "/bin/sh -c 'bash /va"   8 days ago          Up 8 days                0.0.0.0:8085->8080/tcp                             judger_judger_1
59adc72e78df        qduoj/oj_web_server   "/bin/sh -c 'bash /co"   2 weeks ago         Up 9 days                127.0.0.1:8080->8080/tcp                           ojwebserver_oj_web_server_1
a3c97be2031d        chat                  "/bin/sh -c 'bash /co"   4 weeks ago         Up 9 days                0.0.0.0:8888->8888/tcp, 127.0.0.1:8088->8080/tcp   docker_chat_server_1
4905e0cbea19        redis                 "/entrypoint.sh redis"   4 weeks ago         Up 9 days                6379/tcp                                           docker_redis_1
7943f041cd74        php:5-fpm             "php-fpm"                7 weeks ago         Exited (0) 10 days ago                                                      src_xss_server_1

CONTAINER_ID就是容器的id,以后会经常用到。STATUS就是当前容器的运行状态,Up xxx就是正常运行状态,Exited (x) xxx就是退出状态。

进入正在运行的容器

docker ps -a得到CONTAINER_ID,然后运行docker exec -it {CONTAINER_ID} /bin/bash

容器异常退出

容器STATUS显示为Exited(x) xxx,运行docker logs {CONTAINER_ID},查看错误信息。

No such file or directory

查看docker-compose.yml中文件映射的路径是否有误,冒号前面应该是服务器上实际的路径,冒号后面的不需要修改。

显示所有人的提交

oj/custom_settings.py中增加SHOW_ALL_SUBMISSIONS_LIST = True

提交一直是waiting的状态

dockerfiles/judger目录运行docker-compose restart

在启动容器的时候 ERROR: client and server don't have same version (client : 1.21, server: 1.18)

运行export COMPOSE_API_VERSION=1.18 或者尝试升级docker-compose

Welcome to nginx

  • nginx配置中server_name和当前访问的域名是否一致

静态文件无法显示

  • 确认是否访问的是80端口,不要访问nginx proxy_pass的那个地址。

  • 确认nginx中代码路径是否正确。

CentOS 常见问题

  • docker之间无法连通,尝试关闭防火墙或添加规则。
  • 访问网页无法限制静态文件,尝试关闭SELlinux或者添加规则。

Invalid token

  • 请查看admin界面上判题服务器的密码和judger的docker-compose.yml中的rpc_token是否完全一致