docker-on-windows-experience
• • ☕️ 1 min read安装Boot2docker
从http://boot2docker.io/可以看到这个软件是为了支持windows和mac的一个中间件包含了一个定制的轻量级VirtualBox虚拟机,最初Docker运行在Linux的哦。 建议完整安装,这样会包括全部所需的内容。
镜像
获取
docker pull ubuntu #下载最新的ubuntu镜像到本地
docker run -t -i ubuntu //bin/bash #用ubuntu镜像创建一个容器,在其中运行bash应用,这里的“//”是在windows下面使用的转义符,用“/”会报错。
查看镜像信息
docker images#查看镜像信息
docker tag#给镜像添加标签
docker inspect [ID]#获取镜像详细信息
搜索镜像
docker search [term] #搜索镜像,term参数:
--automated=false仅显示自动创建的对象
--no-trunc=false输出信息不截断显示
-s,--stars=0指定仅显示评价为指定星级以上的镜像
删除镜像
docker rmi [image tag or ID] #删除镜像,强制删除添加-f参数
docker rm [ID]#删除容器
不建议强制删除,正确的做法是先删除依赖该镜像的容器,再删除镜像
创建镜像
docker commit [opt] CONTAINER [repo[:tag]]#
-a,--author=""作者信息,
-m,--message=""提交消息,
-p,--pause=true提交时暂停容器运行
例如,首先启动一个镜像容器并且在其中创建一个文件,
docker run -t -i ubuntu //bin/bash
root@id$touch test
root@id$exit
然后提交
$docker commit -m "add a test" -a "mzvast" id test
然后查看本地镜像列表
$docker images
可以看到多了个test的repo哦!
此外也可以从本地导入镜像比如
$cat xxx.tar.gz|docker import -ubuntu:14.04,
然后也可以在本地镜像列表中看到
导出和载入镜像
$docker save -o file_name.tar ubuntu:14.04
这样就可以把镜像列表中的ubuntu的tag为14.04的版本导出成tar文件啦
$docker load --input file_name.tar或者docker load <file_name.tar
这样就可以导入啦
上传镜像
$docker push NAME[:tag]
这样就可以上传自制镜像到DockerHub网站啦,不过要先注册哦
容器
创建容器
docker create -it ubuntu:latest
然后可以
docker ps -a #查看所有容器状态
看到创建的容器处于停止状态,可以使用
docker start #启动容器
理论上
docker run = docker create + docker start
-t选项分配一个伪终端pseudo-tty并且绑定到容器标准输入上,
-i则让容器的标准输入保持打开状态
ctrl+d或者exit退出容器
守护态运行通过-d参数实现
docker run -d ubuntu //bin/sh -c "while true; do echo hello world; sleep 1;done"
容器启动后会返回一个唯一的ID
docker ps #查看容器信息
docker ps logs [id] #查看输出信息
终止容器
docker stop [-t|--time[=10]] #首先向容器发送SIGTERM信号,等待(默认10秒)一段时间后再发送SIGKILL信号终止容器。
docker kill [id] #强行终止容器
docker ps -aq #查看处于终止状态的容器
docker start [id] #启动终止态的容器
docker restart [id] #将正在运行的容器重启
进入容器
在使用-d参数容器会进入守护态,此时用户无法看到容器的信息,如果要进入容器,有多种方法。
docker attach [id/name] #缺点是多窗口attach到同一个容器的时候会同步显示,阻塞。
docker exec ……例如docker exec -ti id //bin/bash,这样就可在容器内开多个bash了
nsenter工具(enter into namespaces),不推荐,exec是更好的工具。
先体验到这里,后续的内容下次更新咯