CMU数据库(15-445)Lab0-环境搭建

0.写在前面

从这篇文章开始。开一个新坑,记录如下本身作cmu数据库实验的过程,同时会分析一下除了要求咱们实现的代码以外的实验自带的一些代码。争取可以对实现一个数据库比较了解。也但愿能写进简历。让本身简历丰富一些。2020年课程的网址以下
https://15445.courses.cs.cmu.edu/fall2020/index.html
在这里能够找到课上的视频和ppt以及一些notes
实验一的说明地址以下 https://15445.courses.cs.cmu.edu/fall2020/project1/
实验一的github地址以下 https://github.com/cmu-db/bustubhtml

1.环境搭建

这里咱们使用docker搭建环境因此请你们先下载docker(docker全部系统均可如下,并且操做基本相似)git

1.1 docker下载

在mac-os下咱们能够利用homebrew很容易的安装docker。github

brew install dockerdocker

固然去官网下载也很容易
https://www.docker.com/
进入官网以后按照以下步骤操做



而后点击docker的图标就能够运行了

你的电脑右上角会出现这个小标志

输入docker --version若是成功的话就表示安装成功了数据库

(base) > docker --version
Docker version 19.03.13, build 4484c46d9dbash

2. 配置docker镜像


按照上面的点击顺序来配置镜像
把以前文本框里的内容用下面的替换ui

{
  "experimental": false,
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "features": {
    "buildkit": true
  }
}

输入docker info 若是能找到相似下面的内容则表示安装成功3d

Registry Mirrors:
 https://docker.mirrors.ustc.edu.cn/
 Live Restore Enabled: false
 Product License: Community Engine

1.2 正式实验环境的搭建

先在github中把整个实验clone到本地。这里方法随意能够用git也能够直接下载。
进入整个实验在本地的地址。

这里须要在终端进入这个地址code

cd /Users/zhouxiaolun/offer/cmu-db/bustub视频

而后执行下面的两条命令

docker build . -t bustub
docker create -t -i --name bustub -v $(pwd):/bustub bustub bash

随后执行这一条命令
docker start -a -i bustub
这个时候就能够进入咱们的容器里。这个容器就是咱们的实验环境啦。
随后就能够配置文件环境了。
在bustub文件中执行这一条命令

build_support/packages.sh
mkdir build
cd build
cmake ..
make

1.3 配置本地目录挂载

最后一步咱们须要配置如下docker和本地目录的挂载来实如今本地修改在docker中自动同步
执行下面的命令

docker container run -it -v /Users/xxxx/yourFilePath:/bustub --name=bustub_env bustub /bin/bash
/Users/xxxx/yourFilePath 请替换成你本身想要进行同步的目录 :/bustub 也请替换成你本身想要命名的目录

这里的bustub目录就是和你本地目录同步的目录
同步完成以后能够发如今docker下的bustub目录和咱们的yourFilePath文件实现了同步

完成上面的操做以后咱们的配置就算完成了。
接下来咱们能够在本机的编译器编写咱们的代码。而后在docer中的虚拟容器上编译和运行咱们的代码。✅

** 注意每次关闭docker在下一次运行的时候须要先启动咱们的容器。**

  1. 先找到咱们命名为bustub_env容器的容器iddocker ps -a
  2. 而后docker start 容器ID 启动咱们的容器
  3. 输入如下命令进入到这个运行中的容器

docker exec -it 容器id /bin/bash

相关文章
相关标签/搜索