绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
【docker】服务器中docker配置
2020-05-09 11:53:23

在进行深度学习的时候,服务器上用docker,总结一下docker的建立与配置。

docker image相当于配置变量,而容器中放入的是要操作的软件、代码或其他文档等。

一、 在现有镜像文件基础上建立docker

以 docker image为例,docker hub中搜索Tensorflow,选择其中一个搜索结果进入,如图所示。

由于我要挂在GPU,因此,执行nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu。

注意:首先得确认电脑上安装了nvidia_docker,NVIDIA/nvidia-docker

从上图中可以看出GPU、CUDA、docker、container和应用之间的关系。

现在回来说安装image的情况:nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu命令中,使用了tensorflow/tensorflow:latest以后台模式启动一个容器,并将容器的8888端口映射到服务器的8888端口。个8888端口指的是docker所在服务器的端口,第二个8888指的是容器的端口。

如果我想给后台启动的容器起个名字,那么命令可以改为:nvidia-docker run -it --name wjtensorflow -p 8888:8888 tensorflow/tensorflow:latest-gpu,并执行该命令。

运行该命令时发现主机的8888端口号被占用了,因此,换一个端口号,并执行命令:nvidia-docker run -it --name wjtensorflow -p 18888:8888 tensorflow/tensorflow:latest-gpu,出现一下信息。其中我用红框标注的‘Serving notebooks from local directory: /notebooks’表示docker默认工作路径,是镜像文件自带的。而‘localhost:8888/?’表示我启动jupyter的url链接地址。需要注意的是:这里需要将localhost:8888修改一下,改为docker所在服务器的ip地址和端口号,由于我使用的服务器ip地址为192.168.2.254,端口号是上面的18888,所以对url地址修改一下即可,然后在网页内输入token。

到此,docker镜像安装完成。


但是!

我们访问容器或者对容器进行操作的时候很麻烦,因为容器和服务器相当于两个独立的空间,所以,为了我们的可操作性,会将服务器主机上的目录与容器中的目录做一个映射,其关键指令就是-v。比如,我在主机上新建一个文件夹,与容器名称相同,即都为wjtensorflow,那么指令如下:

nvidia-docker run -it --name wjtensorflow -p 18888:8888 -v /home/huichang/wjtensorflow:/notebooks tensorflow/tensorflow:latest-gpu

其中,/home/huichang/wjtensorflow是主机上我建立的目录,而/notebooks是容器wjtensorflow 的目录,此时,主机上的目录就映射到容器上了,而主机目录里面的内容则会完全替代容器中的内容。由于主机目录中的内容为空,所以容器中的原有内容会被清空。

但是,如果我不希望容器目录中的内容被清除掉,我可以在/notebooks下再建立一个文件夹,将/home/huichang/wjtensorflow文件的内容映射到/notebooks下的一个文件中,即这样子的:

nvidia-docker run -it --name wjtensorflow -p 18888:8888 -v /home/huichang/wjtensorflow:/notebooks/wj tensorflow/tensorflow:latest-gpu

至此,成功啦!

后面需要上传的项目代码,可以直接放在/home/huichang/wjtensorflow/wj中啦。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Docker 专区
创建时间:2020-05-08 10:53:18
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~