0%
docker
- docker 的简单是用,以
mitsuba0.6
的使用为例,以
ears
的仓库为例
目标
- 在 windows 上实现一个
mitsuba0.6
的环境,在外部修改代码以后,仍然能够在环境中编译运行
docker 安装
- 我使用的是 docker-desktop
- 具体忘了,应该比较简单,需要把 docker
加入到环境变量中(命令行使用)
- 成功后,能在命令行启动
1 2 3
| C:\Users\admin>docker --version
Docker version 25.0.3, build 4debf41
|
docker 基本使用
准备工作
docker 使用
1 2
| docker build -t ears:v1 .
|
1 2 3 4
| C:\Users\admin>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE ears v1 40ef7587d173 About an hour ago 1.36GB
|
- 根据镜像,新建一个容器(如下命令同时启动了这个容器)
- 因为我们需要使用到 windows 上的文件,因此需要在 docker 中挂载
-v
:挂载点,windows路径:docker路径
1
| docker run -it --name ears-dev -v D:/Code/dhh/ears:/mitsuba/ears -p 8808:80 ears:v1 /bin/bash
|
1 2 3 4
| docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 99c3445da1b9 ears:v1 "/bin/bash" 2 hours ago Up 45 minutes 0.0.0.0:8808->80/tcp ears-dev
|
- 启动一个已经存在的容器
- 通过上面的 ID 启动
- 不需要重新挂载
-i
:交互式
1
| docker start -i 99c3445da1b9
|
docker 内部
- docker 内部就和 linux 一样,可以设置环境变量,省的每次启动都需要加
- 在
.bashrc
的最后加上如下代码(bash
启动的时候会自动执行)
1 2 3
| export MITSUBA_DIR=/mitsuba/ears/mitsuba export PATH=$MITSUBA_DIR/dist:$PATH export LD_LIBRARY_PATH=$MITSUBA_DIR/dist:$LD_LIBRARY_PATH
|
mitsuba 编译
1
| cp build/config-linux-gcc.py config.py
|
1
| python2 config.py -j $(nproc)
|