ubuntu16 docker问题汇总

1、错误:

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

添加镜像加速器:daemon.json

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": [],
            "registry-mirrors":["https://lhd9vrhh.mirror.aliyuncs.com"]
        }
    }
    
}

 

2、在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:

Reading package lists... Done
Building dependency tree 
Reading state information... Done
E: Unable to locate package vim

这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

等更新完毕以后再敲命令:apt-get install vim命令即可。
 

安装nvidia-docker2

官网安装教程:https://github.com/NVIDIA/nvidia-docker

 

3、怎么在 docker 中开启多个终端

sudo docker exec -it ${container_id} /bin/bash

${container_id}填写容器id

如果不是/bin/bash环境,可以使用/bin/sh进入。

4、退出虚拟环境

exit

重新进去

sudo docker start -ia 69d89e3df59c
5、保存镜像

sudo docker commit -m "ubuntu16+cuda9.0+cudnn7.0+ros-kinetic-desktop-full" -a "ray" 69d89e3df59c ray/ubuntu16-cuda9.0-cudnn7.0-ros-kinetic:latest

其中,-m指定说明信息 ;-a指定用户信息;69d89e3df59c代表容器的id;ray/ubuntu16-cuda9.0-cudnn7.0-ros-kinetic:latest指定目标镜像的用户名、仓库名和 tag 信息。

6、切换python版本

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

7、宿主机和虚拟机建立文件夹映射

sudo docker run -it -v /home/ray/dock:/usr/Downloads 63994d8624a2 /bin/bash

其中-v表示建立文件映射,冒号前是宿主机文件夹,冒号后是虚拟机文件夹。63994d8624a2表示镜像id。

8、宿主机和虚拟机建立端口映射,(注:建立映射是在创建容器时创建,创建容器相当于重安装了镜像,如果是虚拟机用到一半才发现要映射端口,请务必先保存当前镜像

sudo nvidia-docker run -v /home/ray/dock:/usr/Downloads -it -p 8097:8097 ray/ubuntu16-pytorch /bin/bash

-p表示端口,冒号前是宿主机端口,冒号后是主机端口;建立映射是在创建容器时创建的,如果需要使用显卡GPU,使用nvidia-docker进行创建

你可能感兴趣的:(docker)