配置gem5-gpu docker版
1 安装docker:wget -qO- https://get.docker.com/ | sh,启动服务:sudo service docker start
2 把非root用户添加到docker组:
sudo
gpasswd -a UserName docker
3 拉取镜像:docker pull powerjg/gem5-cuda-build,DockerFile为:
FROM ubuntu:14.04MAINTAINER Jason Lowe-Power <jason@lowepower.com># Install all of gem5's dependencies RUN apt-get update -y && apt-get install -y \build-essential \python-dev \scons \swig \zlib1g-dev \m4 \libprotobuf-dev \python-protobuf \protobuf-compiler \libgoogle-perftools-dev RUN apt-get install --no-install-recommends -y mercurial# Install dependencies for gem5-gpu (CUDA benchmarks) RUN apt-get install -y \gcc-4.6 \g++-4.6 \python \wgetRUN wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run RUN wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/sdk/gpucomputingsdk_3.2.16_linux.run # Note: May need to make sure return is pressed RUN bash cudatoolkit_3.2.16_linux_64_ubuntu10.04.run # Note: must input /usr/local/cuda, then return RUN bash gpucomputingsdk_3.2.16_linux.run RUN mv /root/NVIDIA_GPU_Computing_SDK/C /usr/local/cudaRUN echo " \ export CUDAHOME=/usr/local/cuda; \export PATH=$PATH:/usr/local/cuda/bin; \export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib; \export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/C/lib; \" >> /root/.bashrc #RUN source /root/.bashrcWORKDIR /usr/local/cuda/C/common RUN make 2> /dev/null# Also needed, but not at this stage in the build # WORKDIR /gem5-gpu/benchmarks/common # RUN make
镜像中只有一个root用户,主目录为/root,无密码
4 查看镜像:docker images
5 运行“镜像”:docker run -it powerjg/gem5-cuda-build:latest /bin/bash,-t启动终端,-i交互式,/bin/bash是启动后运行的程序。
6 从docker文件可以看到镜像中缺少
sudo apt-get install libxext-dev libxi-dev x11proto-xext-dev libice-dev libsm-dev libxt-dev libxmu-headers libxmu-dev freeglut3-dev libcr-dev libX11-dev libglu1-mesa,
sudo apt-get install -y \ gcc-4.6 \ g++-4.6 \ python \ wget \ gcc-4.4 \ g++-4.4 \ gcc-4.8 \ g++-4.8,先apt-get update再安装。
配置好gcc、g++,hg。下载gem5-gpu、编译。cuda编译出现问题,把host上编译好的复制到container中解决的。
7 先介绍一点docker命令,查看运行(包括停止的)的容器:docker ps -a
8 把所做的更改保存到镜像:docker commit -m="Comments gem5 env is ok" -a="Author" 8d688027df7b gem5:test,
docker images可以看到新增了镜像,与下面的save区别开来。
9 容器与主机间文件传输
主机到容器:docker cp /home/huan/ 8d688027df7b:/home/
容器到主机:docker cp 8d688027df7b:/home/ /home/huan/
10 容器中输入exit退出,停止容器:docker stop ContainerID(杀进程,同kill?),docker pause ContainerID(暂停器中运行的进程),
docker rm ContainerID(删除容器,对镜像的更改丢失)
连接到正在运行的容器:docker attach --sig-proxy=false ID,查看容器中运行的进程:docker top ID
11 删除镜像:docker rmi IMAGE_NAME or ID;
保存镜像:docker save {-o FileName.tar gem5:test, gem5:test > FileName.tar
};tar文件中包含了各层(layer)和元数据(metadata),所以即使删除容器中的文件,tar依然很大。
加载镜像:docker load FileName.tar;(有Name和Tag)。
导出容器:docker export {gem5:test > latest.tar
, --output="latest.tar" gem5:test
},只是保存镜像的文件系统,仅一层,不包含元数据。
导入容器:docker import FileName;(无tag)可以是URL或本地文件
12 -p端口映射(默认TCP),--name命名,-d后台运行
docker run -it -p hostPort:containerPort --name gem5 -d gem5:test /bn/bash,(小写的p,v)
13 用attach连接容器,多个attach终端完全相同。docker exec -it <container> bash|sh
是执行 exec 最常用的方式,启动多个伪TTY。
attach与exec的用法区别:a)attach 直接进入容器 启动命令 的终端,不会启动新的进程。b)exec 则是在容器中打开新的终端,并且可以启动新的进程。
docker run -ti -p 49001:5900 -p 49002:22 --name gem5 -e HOME=/root gem5:test /bin/bash
docker exec -it gem5 bash , docker start gem5
暂时可以忽略空间管理,备份,迁移等更高级的用法。
13 容器安装VNC(方法来自StackOverflow,尝试了很久,没成功
)
apt-get install -y x11vnc xvfb firefox openssh-server,
mkdir ~/.vnc,x11vnc -storepasswd chh912 ~/.vnc/passwd
,
a)
echo 'firefox' >> /.bashrc
docker run -p 49004:5900 -p 49003:22 -e HOME=/root gem5:testa x11vnc -forever -usepw -create,将容器22端口绑定到主机49003端口,用于ssh连接。
b) echo 'DISPLAY=:0' >> ~/.bashrc,
add this command to startup wizard or entrypoint script:
source ~/perl5/perlbrew/etc/bashrc rm -f /tmp/.X10-lock Xvfb :0 -screen 0 1600x1200x24 & firefox -height 1200 -width 1600 & x11vnc -usepw -forever -shared &
run:
docker run -p 49001:5900 -p 49002:22 -e HOME=/root gem5:testb Xvfb :0 -screen 0 1600x1200x24 & x11vnc -usepw -forever -shared &
14 <不行,没意义,异想天开.jpg>安装GNOME,sudo apt-get remove gnome-shell,sudo apt-get remove ubuntu-gnome-desktop
15 用ssh,这个方法也麻烦,需要搞定root密码等问题,新建用户失败,give up! 老老实实用docker cp和Vim。
转载于:https://www.cnblogs.com/chenhuanBlogs/p/8728318.html
配置gem5-gpu docker版相关推荐
- windows7 64位机上配置支持GPU版(CUDA7.5)的OpenCV2.4.13操作步骤
很久之前在windows7 32位上配置过GPU版的opencv,可参考http://blog.csdn.net/fengbingchun/article/details/9831837 Window ...
- docker mysql镜像连接不上_Mysql安装-Docker版
1.环境准备 1).确认已Docker已安装: 2).Docker hub查看官方提供了哪些版本 查询mysql镜像 ##命令查看docker search mysql 2.拉取镜像 ##拉取5.7镜 ...
- 启动rocketmq_RocketMQ 部署启动指南-Docker 版
最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作 在搭建之前,我们需要做一些准备工作,这里我们需要使用 ...
- bWAPP靶场漏洞环境搭建Docker版
bWAPP靶场漏洞环境搭建Docker版 项目地址 官方网站:http://www.itsecgames.com/ 文件下载:https://sourceforge.net/projects/bwap ...
- OnlyOffice Docker版搬砖心得
OnlyOffice搭建(亲测可用) 实习在公司搬砖时搭建的服务,从服务器上onlyoffice的部署到集成到公司代码,踩了不少坑,鸡白介绍一下docker版的安装流程 (第一次写,轻喷哈哈哈,有问题 ...
- 商业级4G代理搭建指南【搭建篇之Docker版】
时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...
- 美图DPOS以太坊教程(Docker版)
一.前言 最近,需要接触区块链项目的主链开发,在EOS.BTC.ethereum.超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案. 以ethereum为基准去找解 ...
- 虚拟机基本部署(docker版)
虚拟机部署(docker版) 1.CentOS安装Docker 1.1卸载 1.2.安装Docker 1.3.启动docker 1.4.配置镜像加速 2.docker安装mysql 2.1 启动MyS ...
- docker版私人网盘ownCloud
原文地址:http://kekefund.com/2017/04/19/docker-owncloud/ (本人博客) ownCloud是一个自由且开源的个人云存储解决方案.ownCloud在客户端可 ...
最新文章
- 2.14要来了,老司机教单身狗如何用VR过情人节
- 解决npm ERR! code ENOENT
- Spring mvc 中处理模型数据 ModelAndView
- 将物体固定在坐标某个点_坐标变换(2)—不同坐标系下的变换
- 想深度探究数据库内核技术,墙裂推荐你看看这个
- POSIX定时器Timer
- php二分查找例题,PHP实现的二分查找算法实例分析
- enetics v1.5.0 绿色版
- 4-27 外网访问VM虚拟机系统 以及 开启ubuntu远程访问
- 我的Android进阶之旅------gt;Android嵌入图像InsetDrawable的使用方法
- 电脑重装教程win10系统怎样重装
- visual studio-wdk8.1+vs2013中使用winusb模版开发usb设备驱动
- 安卓检测root代码
- c语言 修改文件权限666,chmod 777 修改权限
- 网上支付流程(大致)
- 排序算法之 插入排序、希尔(shell)排序 及其时间复杂度和空间复杂度
- 使用nexus搭建maven私服(一)安装启动
- 如何学好C语言--你的学渣朋友告诉你
- 适合Linux系统的笔记本推荐,推荐5款让你的旧电脑重获新生的Linux发行版
- mysql start with递归_关于各个数据库递归(start with connect by prior)的相互转换
热门文章
- mysql主从复制的流程_MYSQL主从复制部署流程
- IntelliJ IDEA 2018.2设置背景图片及透明度
- Python海龟turtle画图常见画图代码大全
- ztree 标准得json数据格式_Django+zTree构建组织架构树
- 金融大规模毁灭性武器--高频统计套利
- 系统学习深度学习(二十四)--WRN
- osea/Beat Classification 4.3-4.5
- Git教程_3 IDEA管理
- 搜索引擎优化的用乐云seo_搜索引擎优化SEO
- phpstud使用教程_phpStudy2017使用教程,自定义php版本功能上线!