搭建服务器环境

步骤:

一、安装docker

二、配置自己的镜像

三、在镜像中成功运行需要的程序

四、转为singularity需要的镜像

五、用服务器测试使用

一、安装docker        

sudo apt-get update
sudo apt-get install \
           apt-transport-https \
           ca-certificates \
           curl \
           gnupg-agent \
           software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
           "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
          $(lsb_release -cs) \
          stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

1.1、验证安装是否成功

# 查看docker服务是否启动:

systemctl status docker

# 若未启动,则启动docker服务

sudo systemctl start docker 

# hello-world验证是否成功安装

sudo docker run hello-world

1.2、添加当前用户到 docker 用户组

groups

# 没有则新增docker组

sudo groupadd docker

 # 把当前用户加入到docker组中

sudo gpasswd -a ${USER} docker

# 重启docker服务

sudo service docker restart

1.3、安装nvidia-docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee
/etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update 
sudo apt-get install -y nvidia-docker2 
sudo systemctl restart docker

# 验证安装是否成功

# 这里系统中没有这个镜像的时候,会自动从镜像库中拉一个下来

docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi

# 若安装成功则可以输出显卡信息

二、配置自己的镜像(以pytorch为例)

1、拉取镜像

docker pull pytorch/pytorch:nightly-runtime-cuda10.0-cudnn7

2、查看已下载的镜像

docker images

3、在一个容器中运行想要的镜像

启动的同时注意挂载work-master目录到docker-container。其命令如下:

nvidia-docker run --rm -it --name mytest -v ~/sh/work-master/:/workspace pytorch/pytorch:nightly-runtime-cuda10.0-cudnn7

--rm 表示在结束container运行后,立刻删除container。不然的话还需要手动删除
-it 表示以交互方式启动
--name myRgmp 表示给启动的container一个名字,且其名字为mytest
-v 将本地目录挂载到docker-container中,这里就是把我要跑的代码的master作为workspace

# 注意这里的  ~/sh/work-master/   是ubuntu系统中程序代码所在的绝对路径,后面跟着的:/workspace注意要记得加上,貌似是为了挂载用
# pytorch/pytorch 为需要的镜像
# nightly-runtime-cuda10.0-cudnn7 为指定的镜像标签

#这里还要注意,启动方式要么为nvidia-docker,要么为docker run --runtime=nvidia

#一般用上面的就可以实现相关的操作,进入到容器中,并且处于master所在目录下

# 还有一个问题是记得要先把相关的文件在本地拷贝好再启动镜像和容器

4、在pytorch的系统中安装程序所需要的依赖

# 目前这个pytorch的镜像大多数都安装好了,有python和pip,如果还需要别的模块自行安装即可

pip install opencv-python
pip install scikit-image

三、在镜像中成功运行需要的程序

1、测试环境

python main.py

# 测试用的程序简单的调用main函数即可运行

2、运行成功后记得将镜像保存到本地以备下次使用

另开一个新终端

镜像保留在本地的命令为:

docker commit conatiner_id user_specific_image_name

-conatiner_id 是容器的id

-user_specific_image_name 是要保存的名字

查看当前所有的容器

docker ps 

也就是:

docker commit ae6b8f58fae5 myouttorch.image

# docker image 查看当前的所有镜像,看看刚刚是否有保存成功

# 保存成功后即可得到所需要的镜像,然后按照服务器的需求做相关的操作

四、转为singularity需要的镜像

1、先将image转为本地的镜像保存

docker save : 将指定镜像保存成 tar 归档文件。

docker save -o myouttorch.tar myouttorch.image

这里不用登录私有镜像仓库

在本地docker下,给镜像打上标签

docker tag c29284518f49 10.**.**.127:8088/sunhu/pytorch:latest

# IP地址后面是服务器中自己的工作空间的名字

# 加上类型和原始标签

上传镜像

docker push 10.**.**.127:8088/sunhu/pytorch:latest

然后就可以在Harbor中查看上传到服务器的镜像

2021-08-10更新

目前服关闭了harbor的服务,不能再使现有的singularity转换镜像

所以需要自己在本地建立镜像仓库,然后使用自建立的仓库将docker转换为镜像再上传到服务器使用;

2、建立本地的singularity镜像仓库

2.1安装singularity

https://blog.gtwang.org/linux/singularity-3-installation-and-usage-tutorial/

主要是参照了这个博客的内容

其中第二步安装Go的时候,要把1.12.5的版本换成1.13.的版本及以上

其他的按照步骤源码安装即可

2.2转换singularity镜像

https://blog.csdn.net/gavinclc/article/details/109206364

主要参考这个博客的内容,按照这个部更改其中的名字即可

2.3上传到服务器进行测试

可以将镜像做好后上传到服务器进行测试

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值