docker安装TensorFlow1.0单细胞数据增强scGAN

1.拉取docker image
(1)我这里是单细胞镜像,你可以是其他。先按照作者的

docker build . -t scgan:latest -f dockerfile/Dockerfile
#这个后期不用docker pull fhausmann/scgan

(2)拉取之后:在你的镜像中会多一个:fhausmann/scgan这样的一个镜像。但我怕防止别人删除,所以我命名我的名称。36a711813aac 容器ID
先查一下容器ID;docker imgaes

sudo docker tag   36a711813aac lry/scgan

(3)这时候你的镜像中多了lry/scgan这样的镜像,然后把原来的fhausmann/scgan删除

sudo docker rmi fhausmann/scgan:latest

2.现在我需要用pycharm来连接docker;方便代码调试。
(1)docker修改名之后。运行他:需要指定端口:如下:
docker run -it -d --name 容器名 -p 主机端口号:容器端口号 镜像名
比如我的

sudo docker run -it -d --name lry_scgan -p 8086:22 lry/scgan
#这是另一个的
sudo docker run -it -d --name lry_tf1 -p 8087:22 lry/tensorflow
#gpu上
sudo docker run -it --gpus all -d --name lry_tf1 -p 8087:22 lry/tensorflow
#后面比较坑,他提供的build tensorflow,以及scRNA,不支持GPU。
#只能重新安装带cuda,tensorflow1,参考cuda,tensorflow1:https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/running.html#running
docker pull nvcr.io/nvidia/tensorflow:23.03-tf1-py3
#docker run --gpus all -it -rm -v local_dir:container_dir nvcr.io/nvidia/tensorflow:<xx.xx>-tf<x>-py<x>
sudo docker run -it --gpus all -d --name lry_tf1 -v ~/lry/lry_python/docker:/tmp/docker -p 8087:22 lry/tf1:latest 

8087是我在外面pycharm需要连接的端口号,22是你本身docker的端口号。
(2)启动容器。查看容器id:docker ps

docker start lry_tf1

(3)进入容器

docker exec -it containerID   /bin/bash

(4)若将本地代码复制到容器中进行运行,如pidc.tsv文件复制到容器中。

sudo docker cp pidc.tsv 6c51ba87b1e7:~/lry

2.安装ssh远程服务

apt-get -y update
apt-get install openssh-server
apt-get install openssh-client
  1. 修改SSH配置文件以下选项
vim /etc/ssh/sshd_config

以上命令打开sshd_config文件,在文件最后面添加以下。
PermitRootLogin prohibit-password注释
PermitRootLogin yes #允许root用户使用ssh登录
4.重启ssh服务

/etc/init.d/ssh restart

但出错了:ssh:could not resolve hostname start:name or service not known
这时候需要手动启动ssh;和sshd;
先看一下是否有这两个进程:如果没有则进行下列操作

ps -e|grep ssh

输入eval ssh-agent,如果出现这篇作者中的这个情况,可以这样解决https://blog.csdn.net/wfx056012/article/details/115707777
在这里插入图片描述
则进行下一步,ps -e|grep ssh,这时候多了ssh-agent进程
在这里插入图片描述
说明sshd的进程没有开始,正常情况下是会出现两个进程的,然后输入sudo /etc/init.d/ssh start,会出现这
在这里插入图片描述
再次输入ps -e|grep ssh,如果出现
在这里插入图片描述
那说明成功了。必须要两个进程都出现。
这里还有root密码配置(passwd:123),或者需要设置ssh免密登录这些,自行设置。
5.验证ssh连接是否成功:
6. 退出容器,连接测试

注意:以上2-5步骤都是在容器内部操作的。

ssh root@127.0.0.1 -p 8087
root:容器内部系统的root账号,不是服务器的用户账号
这样就可以了
二、配置pycharm并连接docker容器:可参考
https://blog.csdn.net/Thanours/article/details/109265315

在这里插入图片描述
docker查看gpu使用情况

sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

在这里插入图片描述
测试你的TensorFlow是否成功,关键是否支持gpu

>>> import tensorflow as tf
#出现这个错误;
Illegal instruction (core dumped)

各种解决方法:降级TensorFlow1.5;升级这些都没用。原因是你的cpu不支持。查看是否有下列avx,没用说明你的机器不支持。

$ cat /proc/cpuinfo | grep avx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值