0x01 环境准备
-
操作系统:ubuntu20.04 -
安装 docker-compose sudo apt-get install docker-compose -
安装docker sudo apt-get install docker -
下载seed-emulator-master git clone https://github.com/seed-labs/seed-emulator.git
0x02 测试案例运行
接下来使用项目中examples/A00-simple-peering的例子来测试搭建环境
????????1. 添加seedemu到 PYTHONPATH。
# 进入项目根目录
cd seed/
# 添加seedemu到 PYTHONPATH
source development.env
? ? ? ? ?2.?建立仿真环境
# 进入测试样例目录
cd examples/A00-simple-peering/
# 运行生成容器的脚本 输出在当前目录下的output文件夹中
python3 simple-peering.py
? ? ? ? 3. 构建并运行容器
# 进入容器目录
cd output/
# 构建并运行容器
sudo docker-compose build && sudo docker-compose up
运行成功后结果如下
?至此,模拟网络已经搭建完成,可以通过docker来访问每一个容器。
? ? ? ? 4. 启动 Seedemu Web 客户端
# 进入根目录下的client文件夹
cd seed/client
# 构建并运行容器
sudo docker-compose build && sudo docker-compose up
如果出现以下问题
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1,
but package-lock.json was generated for lockfileVersion@2.
I'll try to do my best with it!
可以修改client文件夹下dockerfile文件
FROM node:latest
COPY start.sh /
WORKDIR /usr/src/app
COPY . .
WORKDIR /usr/src/app/frontend
RUN npm install
RUN npm install -D webpack-cli
RUN ./node_modules/.bin/webpack --mode production
WORKDIR /usr/src/app/backend
RUN npm install
RUN npm install -D typescript
RUN ./node_modules/.bin/tsc
ENTRYPOINT ["sh", "/start.sh"]
运行成功结果如下
访问localhost:8080/map.html
|