Docker-Windows 2008 R2安装使用

Docker下载
Docker目前提供了最新的Windows版本,只支持windows 10,使用了Hyper-V虚拟机。


由于服务器目前使用的较多的为Windows Server 2008,因此,只能使用支持 Windwos Server 2008 R2的Docker Toolbox,使用的是Oracle VM VirtualBox虚拟机,官网下载地址: 
http://www.docker.com/products/docker-toolbox


编写此文时下载的版本: 
https://github.com/docker/toolbox/releases/download/v1.12.0/DockerToolbox-1.12.0.exe


安装要求
要求安装64位操作系统
要求BIOS开启虚拟化
Docker安装
执行DockerToolbox-1.12.0.exe安装程序,按向导默认安装即可,安装选项:


安装路径:C:\Program Files\Docker Toolbox
安装组件:Full installation
安装完成后,在开始菜单启动快捷方式:Docker\Docker Quickstart Terminal进入终端操作界面


初次启动时会自动更新虚拟机镜像文件boot2docker.iso并创建VirtualBox默认虚拟机default






启动成功时会出现以上界面。


Docker常用命令




Docker命令与 Git 和 GitHub比较类似。总的来说分为以下几种:


容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port]
容器rootfs命令 — docker [commit|cp|diff]
镜像仓库 — docker [login|pull|push|search]
本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
其他命令 — docker [info|version]
docker version
显示 Docker 版本信息。


docker info
显示 Docker 系统信息,包括镜像和容器数。


docker search
docker search [options "o">] term
docker search -s  django
1
2
从 Docker Hub 中搜索符合条件的镜像。 
–automated 只列出 automated build 
类型的镜像; 
–no-trunc 可显示完整的镜像描述; 
-s 40 列出收藏数不小于40的镜像。


docker pull
docker pull [-a "o">] [user/ "o">]name[:tag "o">]
docker pull laozhu/telescope:latest
1
2
从 Docker Hub 中拉取或者更新指定镜像。 
-a 拉取所有 tagged 镜像 。


docker login
docker login
1
Username: username 
Password: ** 
Email: user@domain.com 
Login Succeeded 
按步骤输入在 Docker Hub 注册的用户名、密码和邮箱即可完成登录。


docker logout
运行后从指定服务器登出,默认为官方服务器。


docker images
docker images [options "o">] [name]
1
列出本地所有镜像。其中 [name] 对镜像名称进行关键词查询。 
-a 列出所有镜像(含过程镜像); 
-f 过滤镜像,如: -f [‘dangling=true’] 只列出满足 
dangling=true 条件的镜像; 
–no-trunc 可显示完整的镜像ID; 
-q 仅列出镜像ID。 
–tree 以树状结构列出镜像的所有提交历史。


docker ps
列出所有运行中容器。 
-a 列出所有容器(含沉睡镜像); 
–before=”nginx” 列出在某一容器之前创建的容器,接受容器名称和ID作为参数; 
–since=”nginx” 列出在某一容器之后创建的容器,接受容器名称和ID作为参数; 
-f [exited=] 列出满足 
exited= 条件的容器; 
-l 仅列出最新创建的一个容器; 
–no-trunc 显示完整的容器ID; 
-n=4 列出最近创建的4个容器; 
-q 仅列出容器ID; 
-s 显示容器大小。


docker rmi
docker rmi [options "o">] <image>  "o">[image...]
docker rmi nginx:latest postgres:latest python:latest
1
2
从本地移除一个或多个指定的镜像。 
-f 强行移除该镜像,即使其正被使用; 
–no-prune 不移除该镜像的过程镜像,默认移除。


docker rm
docker rm [options "o">] <container>  "o">[container...]
docker rm nginx-01 nginx-02 db-01 db-02
sudo docker rm -l /webapp/redis
1
2
3
-f 强行移除该容器,即使其正在运行; 
-l 移除容器间的网络连接,而非容器本身; 
-v 移除与容器关联的空间。


docker history
docker history  "o">[options] <image>
1
查看指定镜像的创建历史。 
–no-trunc 显示完整的提交记录; 
-q 仅列出提交记录ID。


docker start|stop|restart
docker start|stop "p">|restart [options "o">] <container>  "o">[container...]
1
启动、停止和重启一个或多个指定容器。 
-a 待完成 
-i 启动一个容器并进入交互模式; 
-t 10 停止或者重启容器的超时时间(秒),超时后系统将杀死进程。


docker kill
docker kill  "o">[options "o">] <container>  "o">[container...]
1
杀死一个或多个指定容器进程。 
-s “KILL” 自定义发送至容器的信号。


docker events
docker events [options "o">]
docker events --since= "s2">"20141020"
docker events --until= "s2">"20120310"
1
2
3
从服务器拉取个人动态,可选择时间区间。


docker save
docker save –i debian "debian.tar"
docker save debian > "debian.tar"
1
2
将指定镜像保存成 tar 归档文件, docker load 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。 
-o “debian.tar” 指定保存的镜像归档。


docker load
docker load [options]
docker load < debian.tar
docker load -i "debian.tar"
1
2
3
从 tar 镜像归档中载入镜像, docker save 的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。 
-i “debian.tar” 指定载入的镜像归档。


docker export
docker export <container>
docker export nginx-01 > export.tar
1
2
将指定的容器保存成 tar 归档文件, docker import 的逆操作。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。


docker import
docker import url|-  "o">[repository[:tag "o">]]
cat export.tar  "p">| docker import - imported-nginx:latest
docker import http://example.com/export.tar
1
2
3
从归档文件(支持远程文件)创建一个镜像, export 的逆操作,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。


docker top
docker top <running_container>  "o">[ps options]
1
查看一个正在运行容器进程,支持 ps 命令参数。


有话要说