1. docker ps : 显示目前的容器信息html
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c0d9faf72e77 tensorflow/tensorflow:latest "/run_jupyter.sh" About an hour ago Up About an hour 6006/tcp, 8888/tcp berserk_meitner 9310baeaef6a tensorflow/tensorflow:latest "/run_jupyter.sh" About an hour ago Up About an hour 6006/tcp, 8888/tcp condescending_engelbart b15bca9de3b2 tensorflow/tensorflow:latest "/run_jupyter.sh" 2 hours ago Up 2 hours 6006/tcp, 8888/tcp tender_ritchie
查看容器(ps) # 列出当前全部正在运行的container $docker ps # 列出全部的container $docker ps -a # 列出最近一次启动的container $docker ps -l
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE tensorflow/tensorflow latest 05a46e5af4d3 2 weeks ago 1.028 GB hello-world latest 7a5a2d73abce 9 weeks ago 1.84 kB
如: docker exec -it 9310baeaef6a bash //在容器9310baeaef6a中建立一个新的bash会话
git
备注:docker
1. docker exec -it9e3a1deed8fc bash : 报错 ]FATA[0000] Error response from daemon: Container 9e3a1deed8fc is not running,docker ps看不到有运行的容器,须要docker start9e3a1deed8fc启动容器
ubuntu
4. ctrl+d 退出容器且关闭, docker ps 查看无
ctrl+p+q 退出容器但不关闭, docker ps 查看有
bash
刚才本身测试了,没发现有啥不一样服务器
5. 挂载tcp
docker run -it -v /root/project/facenet-master:/var/lib/docker/volumes tensorflow/tensorflow /bin/bash
挂载名字 交互式须要加测试
好比:ui
docker run -it -v /root/project:/opt tensorflow/tensorflow /bin/bash
/root/project : 我之后将全部的工程都放到该目录下,因此挂载一个大点的目录;spa
/opt: 能够在该目录下看到你挂载的文件或者目录;
tensorflow/tensorflow: 是docker pull tensorflow/tensorflow时 的镜像名字
如:在镜像中新建一个容器
nvidia-docker run -d -p 1006:6006 -p 1881:8888 -v /dataTwo/datasets:/notebooks --name str_synthText --restart=always -e PASSWORD=a1b2c3 gds/keras-th-tf-opencv
GPU可跑 改 改 路径 挂载路径 容器名字 镜像名字
6. 删除容器
docker rm 容器ID
-f 是强行删除,
删除容器就将挂载的东西也删除了
7. docker run -it ubuntu bash
这句命令就是运行一个Ubuntu容器,只要这一句命令Docker就自动会从Docker hub上下载最新的Ubuntu镜像到本地而且运行。然而,因为Docker的服务器在大洋彼岸,下载起来确实是比较慢,后面的文字会分享如何使用国内的镜像服务器进行下载。
tensorflow/tensorflow镜像里面安装ping程序。
在执行apt-get 命令的时候,要带上-y参数。若是不指定-y参数的话,apt-get命令会进入交互模式,须要用户输入命令来进行确认,但在docker环境中是没法响应这种交互的。
或者 (提倡该方法)先进入容器,在安装ubuntu下面的方法安装软件,若是是源码安装,则须要将源码放到挂载的路径下进入安装。
或者 (写dockerfile文件安装软件,目前还不会)
当你对某一个容器作了修改以后(经过在容器中运行某一个命令),能够把对容器的修改保存下来,这样下次能够从保存后的最新状态运行该容器。docker中保存状态的过程称之为committing,它保存的新旧状态之间的区别,从而产生一个新的版本。
首先使用docker ps -l命令得到安装完ping命令以后容器的id。而后把这个镜像保存为learn/ping。
1. 运行docker commit,能够查看该命令的参数列表。
2. 你须要指定要提交保存容器的ID。(译者按:经过docker ps -l 命令得到)
3. 无需拷贝完整的id,一般来说最开始的三至四个字母便可区分。(译者按:很是相似git里面的版本号)
$docker commit 698 learn/ping
docker images 能够看到多了一个镜像,容器是镜像的实例,因此保存对容器的修改其实就是保存镜像。
10. docker pull 镜像
存放在/var/lib/docker/
备注:
1.进入容器后,就没法使用docker命令;
2.cv file.tar 里面没有以前挂载的源文件,须要本身拷贝到里面
参考文献:
http://www.tuicool.com/articles/7V7vYn (很全的命令)
http://blog.csdn.net/kunloz520/article/category/6430551 (一系列)
http://blog.sina.com.cn/s/blog_72ef7bea0102vvu3.html(拉下来得镜像存放)