内网UOJ搭建笔记

Docker

先谈谈我对镜像和容器的理解:镜像是一个容器的副本,容器可以由镜像创建出。容器是一个运行应用的沙箱,和主机没有任何接口。

从一个镜像创建一个容器并在后台运行(以UOJ的镜像为例)

docker run -dit -p 80:80 -p 3690:3690 --name uoj --cap-add SYS_PTRACE [image]

其中–cap-add SYS_PTRACE建议添加,否则可能会导致不能编译。

运行/重启/停止/删除一个容器

docker start/restart/stop/rm [container]

删除一个镜像 docker rmi [image]

显示所有镜像 docker images

显示所有容器 docker ps -a

不加-a选项则只显示正在运行的容器

进入一个容器 docker exec -it [container] /bin/bash

备份一个容器至本地文件 docker export [container] > [filename]

从本地文件恢复出一个镜像 docker import [filename] [image]

从恢复出的镜像创建容器稍有不同

docker run -dit -p 80:80 -p 3690:3690 --name uoj --cap-add SYS_PTRACE [image] /root/up

SVN

首先需要安装svn sudo apt-get install subversion

在本地创建一个svn仓库的工作目录并同步仓库内容至本地(例如同步UOJ第一题的svn仓库至本地)

svn co svn://172.40.25.248/problem/1 /home/xlightgod/UOJ/1

会要求输入用户名和密码。这里有一个小白经常犯的错误:没有把自己添加到题目管理员列表中导致找不到用户名。

用户名即为UOJ上的用户名。密码可以通过“把我的svn密码发送到我的邮箱”来获得。同一个用户的密码都是一样的。

cd至工作目录后

添加文件至svn仓库(例如上传整个“1”文件夹)

svn add 1

将改动文件的结果同步到svn仓库(每次修改后执行;add后也需要执行)(例如将“1”文件夹的改动同步)

svn ci 1 -m ""

不给出要同步的文件则是整个仓库全部同步。

从svn仓库中删除文件(例如删除整个“1”文件夹)

svn del 1

修改完成后再在UOJ上与svn仓库同步即可。

Mysql

进入数据库

mysql app_uoj233 -u root --password=root

-u指定用户名,–password指定密码。

显示所有数据库

show databases;

连接一个数据库(例如app_uoj233)

use app_uoj233;

显示当前数据库内所有表

show tables;

查询表中数据(例如user_info中的username一项)

select username from user_info;

要查询完整的表只需要将例中的username替换成*

修改表中数据(例如修改user_info表中username为“X”的为“mike”)

update user_info set username="mike" where username="X";

删除表中数据(例如删除user_info表中username为“X”的数据)

delete from user_info where username="X";

说点什么

2 评论 在 "内网UOJ搭建笔记"

提醒
排序:   最新 | 最旧 | 得票最多
成员

沙发

成员

光光好劲啊

wpDiscuz