docker学习
docker是一个软件容器平台。
docker例子项目:https://github.com/lijiancheng0614/docker-examples
安装docker
在不同平台安装docker稍有不同,见 https://www.docker.com/products/docker
Mac和Windows只需下载安装包安装即可(Windows需要打开hyper-v)。
Linux的话看说明一步步执行即可。
使用docker
镜像image
列出本地镜像
1 | docker images |
获取镜像,如获取名为ubuntu
,tag为14.04
的镜像
1 | docker pull ubuntu:14.04 |
创建镜像,创建Dockerfile
文件并编写,然后编译即可,-t
指定image的名称和tag
1 | docker build -t caffe:cpu . |
更新镜像,如把名为caffe-temp
的容器更新生成镜像caffe:v2
1 | docker commit caffe-temp caffe:v2 |
上传镜像,如上传名为lijiancheng0614/caffe
的镜像到https://hub.docker.com/r/lijiancheng0614/
1 | docker push lijiancheng0614/caffe |
保存镜像,如保存镜像ubuntu:14.04
到本地文件ubuntu_14.04.tar
1 | docker save -o ubuntu_14.04.tar ubuntu:14.04 |
加载镜像,如加载本地文件ubuntu_14.04.tar
1 | docker load --input ubuntu_14.04.tar |
或
1 | docker load < ubuntu_14.04.tar |
删除镜像,如删除镜像ubuntu
1 | docker rmi ubuntu |
容器container
列出所有容器
1 | docker ps -a |
新建并启动容器,-t
分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i
则让容器的标准输入保持打开,--name
则给容器命名,-d
为后台运行(daemon,即不把结果输出到当前机器上)。
1 | docker run --name ubuntu -ti ubuntu:14.04 bash |
获取容器输出信息,如获取名为ubuntu
的容器输出信息
1 | docker logs ubuntu |
终止运行中的容器,如终止名为ubuntu
的容器
1 | docker stop ubuntu |
启动已终止的容器,如启动名为ubuntu
的容器
1 | docker start ubuntu |
终止并重新启动容器,如重启名为ubuntu
的容器
1 | docker restart ubuntu |
进入(在后台的)容器,如进入名为ubuntu
的容器
1 | docker attach ubuntu |
导出容器,如导出名为ubuntu
的容器到本地文件ubuntu.tar
1 | docker export ubuntu > ubuntu.tar |
导入容器快照为镜像,如导入本地文件ubuntu.tar
到ubuntu:v2
1 | cat ubuntu.tar | docker import - ubuntu:v2 |
删除容器,如删除容器ubuntu
1 | docker rm ubuntu |