基本概念
Docker是一个开源项目,前身是dotCloud公司的内部项目,但苦于无法扩大使用和推广,后期开源后吸引大量的开发人员的参与,以至于公司直接改名为Docker Inc。
Docker项目的目标是实现轻量级的操作系统虚拟化解决方案,其基础是Linux容器(LXC),并再LXC的基础上进行进一步的封装。用户不需要关心容器的管理,操作更为简便。用户操作Docker就像操作轻量级的虚拟机一样方便。 传统的虚拟机如Vmware都是硬件级别的虚拟化,Docker是操作系统层面的虚拟化。
名词解释
镜像:镜像可以理解为只读的模板。如:ubuntu镜像就是一个完整的操作系统,可以打包其他环境进去,可以简单等效理解为各种一键还原的Ghost镜像;
容器:容器是运行的实例。每个容器是相互独立的,里面和普通的Linux环境一样,可以理解为独立的虚拟机。
仓库:仓库是存放镜像的场所。Docker公开的仓库地址是:hub.docker.com 仓库分为公开(Public)和私有(Private),免费用户的账户对Private仓库是有数量限制,和以前的Github类似(p.s github被巨软收购后已经开放私有仓库)。国内访问官方仓库会很慢,解决办法:1.各种梯子,2.国内的镜像(如:阿里云镜像服务)
常用指令
//以下命令后面跟上 -h 参数会显示使用说明,后面不再赘述
e.g. docker images -h
docker images 显示已有的镜像
docker ps 显示容器列表
docker rmi 删除镜像
docker rm 删除容器
-d 保持守护运行(Daemonized)
docker run 新建并启动
-t 分配伪终端(pseudo-tty)并绑定到容器的标准输入上
-i 保持容器的标准输入保持打开
docker start 启动已终止的容器
docker logs 获取容器的输出信息
docker save 镜像导出
docker load 镜像导入
docker export 容器导出
docker import 容器导入
docker build 创建镜像
读取Dockerfile并制作镜像,.dockerignore文件(每行一个匹配)可以配置忽略路径及规则
-t 指定镜像标签
DockerHub
docker login 登陆docker hub 本地用户对应文件夹下.dockercfg 文件保持用户认证信息
docker search 查找官方仓库镜像
## 进入容器bash
```
docker
exec
-it 容器Id
/bin/bash
```