Docker 是什么?可以干什么?
Docker 是一个轻量级容器技术,类似于虚拟机技术。Docker 是直接运行在当前操作系统(Linux)之上,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机。
它支持将软件编译成一个镜像(image),在这个镜像里做好对软件的配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像成为容器(container),容器的启动是非常快的,一般以秒为单位。这个类似 Windows 安装 ghost 操作系统,系统安装好之后软件也有了。
目前各大主流云计算平台(PaaS)都支持 docker 容器技术, 平台提供了存储、数据库、网络、负载均衡、自动扩展等功能,你只需要将你的程序交给云计算平台即可。你的程序是用不同的编程语言开发的,而使用的 docker 的云计算平台就是用 docker 来实现以上的功能及不同程序之间的隔离的。
目前主流的程序和非主流的程序大部分都已近被封装为 docker 镜像,使用只需要下载镜像运行即可。
另外需要特别指出的是,docker 并非是开发测试的小工具,而是可以用于实际生产环境的一种极好的部署方式
常用命令及参数
1.Docker 镜像命令
①:镜像检索
docker search 镜像名
②:镜像下载
docker pull 镜像名
③:查看本地镜像
docker images
④:镜像 指定删除
docker rmi image-id
⑤:删除所有镜像
docker rmi $(docker images -q)
容器命令
①:运行镜像
docker run --name container-name -d image-name
②:查看容器列表
docker ps
③:通过以下命令查看运行和停止的容器
docker ps -a
④:停止容器
docker stop container-name/container-id
⑤:启动容器
docker start container-name/container-id
⑥:端口映射,映射容器6379端口到本机的6378端口
docker run -d -p 6378:6379 --name port-redis redis
⑦:删除容器
docker rm container-id
删除所有
docker rm $(docker ps -a -q)
⑧:查看容器日志
docker logs container-name/container-id
⑨: 登录容器。运行中的容器其实是一个功能完备的 Linux 操作系统,所以我们可以像常规系统一样登录操作。
docker exec -it container-id/container-name bash
⑩:异常处理
若出现命令不能执行的错误,则直接执行以下命令登录 VirtualBox 虚拟机后再执行普通命令
boot2docker ssh