深度学习中的docker容器使用

  • Post author:
  • Post category:其他


what

Docker是一个可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。我感觉和虚拟机差不多, 但似乎比虚拟机强大很多(专业人士请不要打我). 它的应用也特别多, 似乎公司的前端也要迁移到docker上面. 我这个只简单的介绍了docker在深度学习中的应用, 算冰山中的一角的一角, 算自己的一个笔记. 专业人士专业问题就没必要继续看了哈.

why

先说为什么要使用docker容器, 最直接的原因是docker容器容易迁移, 不管是镜像和容器都可以迁移, 不需要多次重复安装深度学习中的各种软件(可能是人工智能最近发展迅猛, 有些软件安装特别麻烦, 包括版本和依赖, 不管是windows, 还是linux等). 可能的几个场景有:

  • 有多个服务器, 需要在不同的服务器跑模型
  • 自己系统重装
  • 公司来新的实习生, 需要装各种深度学习库
  • 另外也方便服务器的维护, 毕竟大家都在docker里面操作

docker install

docker有The Comunity Edition (CE)和 the Enterprise Edition (EE)版本, 一般安装CE就行. Windows应该是只要下载exe安装即可. linux系统以ubuntu16.04为例子:

  1. 设置docker容器:

  • 安装Docker CE

    • sudo apt-get update
    • sudo apt-get install docker-ce
  • 确认是否安装成功

    sudo docker run hello-world

  • docker command

    1. docker pull images_name 从docker官网拉取已经编译好的镜像
    2. docker run -it -v test/:/workdir –name test_container docker_image_name –ipc=host bash 启动一个 叫test_container的容器,运行完后不删除容器
    3. docker run -it –rm -v test/:/workdir –name test_container docker_image_name –ipc=host bash 启动一个 叫test_container的容器,运行完后删除容器
    4. docker start 容器名称 启动容器
    5. docker attach 容器名称 连接容器
    6. docker rmi image_name 删除镜像
    7. docker rm container_name 删除容器
    8. docker images 查看本地安装的docker镜像有哪些
    9. sudo docker ps 查看docker在跑的有哪些容器
    10. sudo docker ps -a 查看在跑和没跑的容器

    其他命令可参考docker官网:

    https://docs.docker.com/

    docker jupyter

    1. docker run -it -v 自己文件路径/:/workdir –name test_container -p 9999:8888 镜像名称(或者id) bash
    2. jupyter notebook –allow-root 启动jupyter
    3. 一般是在服务器上启动docker,然后在本地浏览器中输入remote_ip:9999, remote是远程服务器的ip地址, 9999是启动docker的时候设置的端口号.然后刷新就可以使用了.



版权声明:本文为qq_34759239原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。