【环境配置】基于Docker配置Chisel-Bootcamp环境

2023-10-30

Chisel是什么

Chisel是Scala语言的一个库,可以由Scala语言通过import引入。
Chisel编程可以生成Verilog代码或C++仿真代码,目前国内主要由中科院计算所的包云岗老师团队做香山处理器使用,它不仅是一门语言,也代表一个硬件敏捷开发的方向。

Chisel-Bootcamp是什么

Chisel-Bootcamp是Github上的一个Chisel教程,包含了基于Jupytor的Chisel教学,这篇文章讲一下基于Docker来配置Bootcamp环境,
主要参考资料是Bootcamp在github上的安装教程

基于Docker配置Chisel-Bootcamp

官网下载Docker安装包

首先需要下载Docker-Desktop程序,然后打开这个exe程序安装好,我的感受是Docker安装还是比较友好的。
点进链接,根据操作系统版本下载
我这里安装的是Windows版本的Chisel,安装好后打开Docker-Desktop

Docker换源

我参考的这篇文章的方法1

启动Bootcamp镜像

使用命令安装Chisel-Bootcamp镜像

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

对该命令的解释:

-i 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–rm:容器退出时就能够自动清理容器内部的文件系统。 举例:docker run --rm ba-208
-p:指定端口映射,格式为:主机(宿主)端口:容器端口

最后出现这样的界面就对了:
在这里插入图片描述
把红框框的部分从浏览器打开就可以用jupytor开始学习Chisel了,这里的jupytor的内核是scala编译器,因为chisel本质是scala语言的一个库。

常用docker命令

docker ps // 查看所有正在运行容器
 docker stop containerId // containerId 是容器的ID

 docker ps -a // 查看所有容器
 docker ps -a -q // 查看所有容器ID

 docker start $(docker ps -a -q) // start启动所有停止的容器
 docker stop $(docker ps -a -q) // stop停止所有容器
 docker rm $(docker ps -a -q) // remove删除所有容器

例如要停止刚刚的bootcamp镜像就先docker ps查看所有运行容器,找到它的容器id,然后使用docker stop 容器id就可以了
下次要启动时还是使用

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

会自动启动本地的bootcamp镜像,而不是从网上下载。

可能产生的问题

输入

docker run -it --rm -p 8888:8888 ucbbar/chisel-bootcamp

后报错

error during connect: This error may indicate that the docker daemon is not running

出现这个问题首先你要保证cmd运行的时候Docker Desktop是打开的,我打开后重新执行就解决了。
如果还不行的话参考这篇

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【环境配置】基于Docker配置Chisel-Bootcamp环境 的相关文章

  • 将容器推送到 Azure 容器注册表时资源访问被拒绝

    使用 Docker Compose 将容器推送到私有 Azure 容器注册表时 Azure DevOps 管道返回以下错误 正在推送 容器 注册表 应用程序 最新 推送引用存储库 docker io registry container 被
  • openssh-server 未在 Docker 容器中启动

    我有一个奇怪的问题 我无法 ssh 到具有 IP 地址的 docker 容器172 17 0 61 我收到以下错误 ssh 172 17 0 61 ssh connect to host 172 17 0 61 port 22 Connec
  • Rancher 外部子域

    我需要为 docker 容器中的应用程序设置子域 而不是在内部牧场主网络中 而是供公共使用 我已将域委托给牧场主服务器 并且目录中几乎所有堆栈都有主机属性 但它不起作用 我想我需要使用一些 rancher dns 委托域或设置 nginx
  • 有没有办法查看 Docker for Windows 上的容器磁盘使用情况?

    我很好奇除了作为容器映像一部分的层之外 是否还有一种方法可以查看正在运行的 Windows 容器使用了多少磁盘空间 基本上 容器自创建以来 增长 了多少 在 Linux 或在 HyperV 中运行的 Linux 容器 中 这将是docker
  • 验证来自两个不同 URL 的 Keycloak 令牌

    我有一个Docker compose具有后端和前端组件的基于系统 后端写的是Python Flask并在多个 docker 容器中运行 前端编写为TypeScript with Angular 前端通过Restful API与后端进行通信
  • 在 Alpine Docker 容器上安装 OpenSSH

    第一次运行 alpine docker 容器并尝试 openssh 安装时 会发生以下情况 ole T docker run it rm alpine bin ash apk add openssh WARNING Ignoring APK
  • Docker:内存文件系统

    我有一个 docker 容器 它对磁盘进行大量读 写操作 我想测试当我的整个 docker 文件系统都在内存中时会发生什么 我在这里看到一些答案说这不会是真正的性能改进 但这是为了测试 我想测试的理想解决方案是共享每个图像的公共部分 并在需
  • PyCharm 无法解析 docker-compose.yml 以添加 Python 解释器,似乎正在使用旧版本

    我正在设置 PyCharm 的新实例 并想使用 docker compose 设置 Python 解释器 但 PyCharm 似乎不喜欢我的 docker compose 版本 首先 在 构建 执行 部署 gt Docker gt 工具 中
  • 来自 alpine 软件包存储库的 Numpy 无法导入 c 扩展

    我正在制作一个需要 pandas 和 numpy 的 docker 映像 但通过 pip 安装大约需要 20 分钟 这对于我的用例来说太长了 然后我选择从 alpine 软件包存储库安装 pandas 和 numpy 但似乎无法正确导入 n
  • Visual Studio 2015 Docker 集成不会附加调试

    我使用 VS 2015 创建了一个 Default net Core RC2 MVC 应用程序 我添加了 Docker 支持 以便我可以在 docker 中运行和调试它 当我运行该项目时 它会构建 docker 容器并启动它 运行命令 do
  • 如何在 kubernetes 中传递命令行参数?

    需要在 pod yaml 中传递 docker 容器 appContainer1 和 appContainer2 的命令行参数 pod yaml apiVersion v1 kind Pod metadata name microservi
  • 无法在 Dockerfile 中运行 sysctl 命令

    我正在尝试制作我的第一个 dockerfile 我对此很陌生 并且我需要系统来运行命令sysctl w kernel randomize va space 0 它是一个实验室环境 但我收到错误 sysctl 设置键 kernel rando
  • Python脚本仅在Docker中产生僵尸进程

    我有相当复杂的设置 Luigi https github com spotify luigi https github com spotify luigi https github com kennethreitz requests htm
  • 如何在 Mac 上升级 Docker? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我尝试了 docker machine升级 并做了一些工作 但我似乎没有最新的 CLI 如果我执行 docker 版本 我会得到 Clie
  • 无法从 docker 容器打开 URL

    我在从 Docker 容器导航到 Google 身份验证页面时遇到问题 该应用程序是使用 asp net Core 2 0 制作的 其目的是显示从 Google Calendar API 检索的即将发生的事件 并在需要时创建事件 当应用程序
  • 使用 docker 卷持久化数据库

    我正在尝试将 postgres 数据保存在 docker 容器中 以便您一旦docker compose down and docker compose up d您不会丢失上一次会话的数据 我无法让它做很多事情 将容器拉下来然后再次备份会定
  • Postgres 到 Ubuntu Docker 容器的链接不起作用

    编辑 我可以在没有任何我自己的自定义代码的情况下重现此内容 我刚刚创建了一个运行 Ubuntu 14 04 的新 Linode 映像 并按照以下步骤安装了 DockerDocker 的网站 https docs docker com ins
  • 与主机中的容器共享目录或卷

    我有一个目录 可能是后面的卷 我想与所有交互式容器共享 我知道 本机 Docker 卷存储在 var lib docker volumes and docker run v似乎是最简单的方法 但我认为Data Volume Containe
  • 检查 docker 在 Gitlab CICD 管道中运行

    我在用着亚搏体育appGitlab CI CD https docs gitlab com ee ci README html构建 Node 服务器的 Docker 镜像 我想知道是否有办法测试它docker run图像的质量还可以 我们很
  • 如何从 ubuntu 14.04 中完全删除 docker

    我不久前在 Ubuntu 上安装了 Docker 但是当我尝试删除时 Docker 仍然存在于系统中 我跟着这个https stackoverflow com a 31313851 2340159 https stackoverflow c

随机推荐

  • 存储卡的使用方法大全

    存储卡的使用方法大全 现在购买诺基亚手机 尤其是其智能手机的朋友是越来越多了 与其他品牌的机型相比 诺基亚的手机有一个最大的优点 就是支持储存卡内存扩充的机型比较多 这让大家在使用中不必再担心手机容量的问题 这也体现了诺基亚 科技以人为本
  • 关于 ubuntu18.04 机械革命 RTX2060 解决分屏显示问题

    本人小白 如有错漏 欢迎批评指正 同时感谢之前发表过以及以后会在CSDN上发表自己学习经验的同志们 问题背景 本人使用的是 机械革命笔记本电脑 安装双系统 win10 以及 ubuntu18 04 在使用过程中 遇到了 分屏黑屏 将鼠标移动
  • NAT穿透的工作原理

    一 引言 1 1 背景 IPv4地址短缺 引入NAT 全球IPv4地址早已不够用 因此人们发明了NAT 网络地址转换 来缓解这个问题 简单来说 大部分机器都使用私有IP地址 如果它们需要访问公网服务 那么 出向流量 需要经过一台NAT设备
  • Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案

    随着持续集成的引入 项目中的自动化测试用例越来越多 每轮执行所消耗的时间也越来越久 要提高自动化测试用例执行的效率 以下几点是需要考虑的根本点 1 公司项目的交付策略如何 首先 测试团队服务于公司项目 因此我们必须根据公司项目的交付策略做对
  • SSL证书有什么用?

    SSL证书提供了一种在互联网上身份验证的方式 是用来标识和证明双方身份的数字信息文件 使用SSL证书的网站 可以保证用户和服务器间信息交换的保密性具有不可窃听 不可更改 不可否认 不可冒充的功能 45 113 203 1 45 113 20
  • 怎么用EF框架进行增删改查

    EF框架 1 EF是什么 2 EF的框架模式 3 EF框架优缺点 4 进行增删改查 4 1 新增 4 1 1 直接新增 4 1 2 改变状态新增 4 1 3 批量新增 4 2 删除 4 2 1 删除 先查询后删除 删除ID为6的 4 2 2
  • java jsch_java 利用jsch端口转发 建立连接

    其他代码都一样 参照 使用JSch完成 ssh隧道建立 只有获取连接的部分不相同 代码如下 端口转发 链接两层 public boolean connect throws JSchException try session ssh getS
  • Android NDK C++开发注意事项总结

    相信Android开发者都喜欢用C 编写一些高效的应用 有关Android NDK的C 开发相关知识总结如下 从Android NDK r5开始支持了STL Port 在这个版本开始就可以使用部分STL库的功能了 比如说vector str
  • thumbnailator压缩图片并存至Excel单元格代码

    文章目录 依赖 压缩图片工具类 存至excel的转化器 Excel导入导出的数据类 将数据库实体转化为excel实体 依赖
  • Python 基于 Django 的学生成绩管理系统,可视化界面

    1简介 对于学生成绩管理系统 充分运用现代化的信息技术手段 对于学生成绩信息管理发展的趋势就是信息化 信息化时代下的信息管理 需要深化信息管理体制与手段的改革 充分运用信息化手段来全方位的进行学生成绩管理系统工作 构建学生成绩管理系统 实现
  • Unity 中检测射线穿过的所有的物体

    在开发中 有个需求 射线要检测所有穿过的物体 代码如下 using UnityEngine public class HitCollider MonoBehaviour public float raycastDistance Mathf
  • 线程与线程池的理解

    1 什么是线程 线程和进程的区别是什么 线程 程序执行流的最小执行单位 是行程中的实际运作单位 进程简单来说 一个应用程序的运行就可以被看做是一个进程 而线程 是运行中的实际的任务执行者 进程中包含了多个可以同时运行的线程 2 线程的生命周
  • LeetCode子域名访问计数-Python3.7<五>

    上一篇 LeetCode 键盘行 lt 四 gt 题目 https leetcode cn com problems subdomain visit count description 一个网站域名 如 discuss leetcode c
  • Python数据分析之——数据可视化(折线图)

    matplotlib的pyplot子库提供了和matlab类似的绘图API 方便用户快速绘制2D图表 首先我们先来看看效果图 然后 是数据 接着是代码 coding utf 8 import numpy as np import matpl
  • c语言入门----详解分支语句(if语句)

    文章目录 一 前言 二 顺序结构 三 为什么会有分支语句 四 if语句 五 if语句形式 1 if的基本形式 2 有关if的例子 3 有关if的易错提醒 六 if else语句 1 为什么会有if else语句 2 if else的基本形式
  • Canvas和SVG有什么区别

    在项目开发中也许会涉及到图形 经常用到的就是svg和canvas两种画图方式 下面就让我们看一看他们两者的区别 svg绘制出来的每一个图形的元素都是独立的DOM节点 能够方便的绑定事件或用来修改 canvas输出的是一整幅画布 svg输出的
  • RabbitMQ消息可靠性(二)-- 消费者消息确认

    一 消费者消息确认是什么 在这种机制下 消费者在接收到消息后 需要向 RabbitMQ 发送确认信息 告知 RabbitMQ 已经接收到该消息 并已经处理完毕 如果 RabbitMQ 没有接收到确认信息 则会将该消息重新加入队列 等待其他消
  • supervisor系列:2、运行supervisor

    supervisor系列 2 运行supervisor 文章目录 supervisor系列 2 运行supervisor 1 添加一个程序 2 运行supervisord 2 1 supervisord命令行配置 3 运行superviso
  • 【剑指Offer题解:java】二叉树的镜像

    文章目录 题目 分析 代码 题目 操作给定的二叉树 将其变换为源二叉树的镜像 二叉树的镜像定义 源二叉树 8 6 10 5 7 9 11 镜像二叉树 8 10 6 11 9 7 5 分析 递归交换左右子树即可 1 root null直接返回
  • 【环境配置】基于Docker配置Chisel-Bootcamp环境

    文章目录 Chisel是什么 Chisel Bootcamp是什么 基于Docker配置Chisel Bootcamp 官网下载Docker安装包 Docker换源 启动Bootcamp镜像 常用docker命令 可能产生的问题 Chise