本项目是 中国传媒大学密码学应用实践课程 的一个样例工程,主要完成了以下功能:
样例工程完成的功能和实际小学期要求完成的大作业功能有一些差异,具体请查看课程教学Wiki。
同学们可以参考这个样例工程中的代码,自行修改或采用其中的代码片段以完成尽可能多的作业要求。
本样例工程的主要技术栈如下:
src/package.json 中定义,build.sh 中已通过 Docker 的方式一次性下载所有依赖到指定目录;bash build.sh 自动完成程序的发布和部署;本样例工程通过 bash build.sh 方式部署后,打开浏览器访问: http://localhost:8080 即可快速体验系统所有功能。
build.sh 的执行需要 root 权限,普通用户可以 sudo bash build.shdocker 和从 Docker Hub 拉取基础镜像可能会无法正常完成,建议使用可靠镜像源和缓存。推荐:
Ubuntu 16.04 为例,安装前端依赖文件所需要的操作步骤如下:# 以下命令请在检出代码仓库后的本地仓库根目录下执行
# 在等待安装 docker 和等待执行 bash build.sh 的过程中可以同时执行以下命令
sudo apt update && sudo apt install -y npm && cd src/ && npm install
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:03:51 2017
OS/Arch: darwin/amd64
Server:
Engine:
Version: 17.12.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:12:29 2017
OS/Arch: linux/amd64
Experimental: false
如果你在安装和使用 pip 时遇到类似如下的错误:
➜ pip
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
那么请看以下我的成功配置操作记录。
sudo apt-get update
sudo apt install python3 python3-pip
# 注意以下 2 行指令操作相当于不再保留 python 2.7.x 环境
# 如果你需要 python 2.7.x 环境,建议使用 pyenv 方式安装配置和使用
sudo update-alternatives --install /usr/local/bin/python python /usr/bin/python3 100
sudo update-alternatives --install /usr/local/bin/pip pip /usr/bin/pip3 100
# 经过上述 2 行指令操作,系统中默认执行 python 和 pip 都是调用 Python3 运行环境
# 将 python3-pip 相关的可执行程序所在目录设置到当前用户 PATH 环境变量的最高优先级
grep -q 'PATH=${HOME}/local/.bin:$PATH' ~/.bashrc || echo 'PATH=${HOME}/local/.bin:$PATH' >> ~/.bashrc
# 使得上述环境变量变更生效
source "${HOME}/.bashrc"
# 测试安装 pipenv
pip install pipenv
# 验证上述 python3 环境配置正确无误
pipenv --version
# 开始准备安装 Docker-CE
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 使用中科大镜像源代替 docker 官方 DEB 镜像源
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 安装 docker-ce
sudo apt-get install docker-ce
# 修改 docker pull 使用的 Docker Hub 镜像源为中科大 Docker 镜像源
[[ -f /etc/default/docker.orig ]] || {
sudo cp /etc/default/docker /etc/default/docker.orig
echo 'DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn/"' >> /etc/default/docker
}
# 重启 docker 守护进程
sudo systemctl restart docker
# 安装 docker-compose
pip install docker-compose --user
# 解决 sudo docker-compose 时找不到 docker-compose 的问题
sudo update-alternatives --install /usr/local/bin/docker-compose docker-compose $HOME/.local/bin/docker-compose 100
# enjoy ac-demo
Content type
Image
Digest
Size
171.4 MB
Last updated
about 4 years ago
docker pull c4pr1c3/ac-demo-php