SySeVR论文复现1----使用docker配置环境

文章目录

前言

一、操作系统版本

二、docker安装

三、docker build

3.1 下载文件到本地

3.2 build images创建镜像

 3.3 创建容器

 3.4 进入容器

四、docker容器使用



前言

对于李珍老师sysver切片项目进行函数级别的复现

参考链接:

https://github.com/SySeVR/SySeVR/tree/master

        为了方便使用,而省去复杂环境配置的步骤,我们使用docker对此论文进行复现。需要root权限

一、操作系统版本

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"

二、docker安装

 查看是否装有docker:

docker --version

有的话则是   Docker version 24.0.5, build ced0996

如果有就可以直接使用,没有的需要安装docker(一步一步执行):

sudo yum update
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker --version

ubantu安装(不行的话,可以在网上找其他教程):

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker --version

三、docker build


3.1 下载文件到本地

找到一个文件夹下载:

git clone https://github.com/SySeVR/SySeVR.git

3.2 build images创建镜像

切换到SySeVR_docker\docker_build文件夹下(可以看到Dockerfile文件):

需要改动Dockerfile一些东西(直接将我改动的复制进去):  

FROM tensorflow/tensorflow:1.6.0-devel-gpu-py3
COPY ./home/ /home/
RUN mkdir /usr/java \
&& cp -r /home/SySeVR/softdir/jdk1.8.0_161 /usr/java \
&& mkdir /usr/ant \
&& cp -r /home/SySeVR/softdir/apache-ant-1.9.14 /usr/ant \
&& rm -rf /etc/apt/sources.list \
&& cp -r /home/SySeVR/softdir/sources.list /etc/apt/ \
&& rm -rf /etc/apt/sources.list.d \
&& apt-get clean \
&& apt-get update \
&& rm -rf /etc/profile \
&& cp -r /home/SySeVR/softdir/profile /etc \
&& cd /home/SySeVR/softdir \
&& chmod +x env.sh \
&& ./env.sh \
&& apt-get install -y python-setuptools \
&& apt-get install -y python-dev \
&& apt-get install -y python-pip \
&& pip install --upgrade pip\
&& cd /home/SySeVR/softdir/py2neo-py2neo-2.0 \
&& python2 setup.py install \
&& cd /home/SySeVR/softdir/python-joern-0.3.1 \
&& python2 setup.py install \
&& apt-get install -y graphviz \
&& apt-get install -y libgraphviz-dev \
&& apt-get install -y pkg-config \
&& apt-get install -y python-igraph \
&& apt-get install -y python-virtualenv \
&& pip3 install xlrd \
&& pip3 install gensim==3.4 \
&& pip3 install pyyaml \
&& rm -rf /home/SySeVR/softdir

然后运行: 

sudo docker build -t sysevr:v1.0 .

查看镜像是否创建成功

sudo docker images
这样是成功的

 3.3 创建容器

docker run -itd --gpus all --name=sysevr \
    -v /home/docker_mapping/Implementation:/home/SySeVR/Implementation \
    -v /home/docker_mapping/data:/home/SySeVR/data \
    -p 8080:80 \
    sysevr:v1.0 /bin/bash

-v /home/docker_mapping/Implementation:/home/SySeVR/Implementation \
    -v /home/docker_mapping/data:/home/SySeVR/data \

这是两个容器卷,映射本地和容器中的内存,可以自己设置

创建成功之后可以使用命令,查看正在运行的容器

sudo docker ps -a

 3.4 进入容器

 其中53badd100b0d为CONTAINER ID,容器id

sudo docker exec -it 53badd100b0d /bin/bash

至此,我们的docker容器创建成功。

四、docker容器使用

如果平时进入的话,首先确保docker在运行中,然后执行

sudo docker ps -a

查看容器的CONTAINER ID,然后执行下面进入容器

sudo docker exec -it 53badd100b0d /bin/bash

可以在

cd /home

下,看到我们需要的东西

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值