-
Set up docker
-
Download images from Docker Hub
docker pull xiaokang00010/image-judger
docker pull xiaokang00010/image-judger-scheduler
docker pull xiaokang00010/image-web-service- Create and start containers
docker container create --name web -p <oj port>:5914 xiaokang00010/image-web-service
docker container create --name judger-1 xiaokang00010/image-judger
docker container create --name judger-scheduler xiaokang00010/image-judger-scheduler
docker container start web
docker container start judger-1
docker container start judger-scheduler- Get IP address in logs
Now you should get IP address of each container. And memorize them, it will be used in next steps.
docker logs --tail 100 web # use ^C to exit
docker logs --tail 100 judger-1 # use ^C to exit
docker logs --tail 100 judger-scheduler # use ^C to exit- Configure Web Services
Use the following command to connect to container.
docker container -it exec web /bin/bashThen, chdir to /var/zqhf-oj-v2/backend/src/
Edit the config.json, replace the judger-server-address with the address of container judger-scheduler like <ip address>:5918.
And, restart the web container.
- Configure the Judger Scheduler
Use the following command to connect to container.
docker container -it exec judger-scheduler /bin/bashThen, edit /var/zqhf-oj-v2/judgeScheduler/config.py, set judger_hosts to ["<judger-1 IP>:5917"], if you have not only one container for judge. You can set judger_hosts to ["<judger-1 IP>:5917", "<judger-2 IP>:5917", "<judger-... IP>:5917"]
And, restart the judger-scheduler container.
- Now you can open
localhost:5914in your browser, and login with usernameadmin, passwordzqhf-oj-v2.