docker之运行pointSIFT
1、查看镜像
在终端运行来列出本地已有的镜像
sudo docker images
从上面可知,列表包含了仓库名,标签,镜像ID,创建时间,占用空间这些信息,镜像ID是镜像的唯一表示,一个镜像可以对应多个标签,相同镜像ID不同标签的镜像可以认为是同一个镜像
2、基于镜像创建容器
1 创建容器
sudo docker create -it pointnet-sift:v2.0 /bin/bash
其中pointnet-sift:v2.0为创建的容器所基于的镜像,pointnet-sift为该镜像的仓库名,v2.0为标签
运行结果如下图所示: 可以通过 sudo docker ps -a可以查看所有容器
运行或进入创建的容器:
通过 sudo docker ps 可以查看开启的容器
如果没有在运行:,则用start开启容器
sudo docker start 79c
79c为想要开启的容器id
进入容器:
sudo docker exec -it 79c /bin/bash
2 创建容器并运行
sudo docker run -it pointnet-sift:v2.0 /bin/bash
运行后直接进入了容器:即前面变成了root@e07bbe798b57:/pointnet2# 其中e07bbe798b57为该容器的id
发现后面有:/pointnet2是进入了该容器根目录下的pointnet2路径下,可以运行cd …回到该容器的根目录
2 创建容器、运行并挂载本地目录
挂在本地目录后就可以实现docker内部共享本地文件,在本地修改的文件,在docker中也会相应的变化
如图:运行了
sudo docker run -it -v /home/ubuntu/zj/IGARSS/pointSIFT-attention/data:/pointSIFT-attention/data pointnet-sift:v2.0 /bin/bash
挂在本地目录用 -v 参数 :格式为: -v 本地绝对路径:容器绝对路径
上述语句是基于 pointnet-sift:v2.0 这个镜像创建了一个容器,并把本地的路径(文件夹)/home/ubuntu/zj/IGARSS/pointSIFT-attention/data关联到了容器中的路径 /pointSIFT-attention/data
注意: /就是容器的根目录,/pointSIFT-attention/data是在容器中创建了pointSIFT-attention/data路径
进入容器时不是容器的根目录用cd …切换到了容器的根目录,ls查看根目录下的文件,发现就有pointSIFT-attention这一文件夹,进入发现其中有data这一文件夹
还可以同时挂载好几个本地目录: 多加几个 -v 参数即可: