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 命令参数。
有话要说