docker简介
什么是docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
- docker Client 客户端
- Docker Daemon 守护进程
- Docker Image 镜像
- Docker Container 容器
docker原理
Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同, LXC 其并不是一套硬件虚拟化方法 - 无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观。所以我们从虚拟化到docker要解决的问题出发,看看他是怎么满足用户虚拟化需求的。
为什么要用docker
网上有很多类似的说明,我这里简单说明:
- 简化配置
- 代码流水线(Code Pipeline)管理
- 提高开发效率
- 隔离应用
- 整合服务器
- 快速部署
- 其他
详细介绍请查阅百度百科:https://baike.baidu.com/item/Docker/13344470?fr=aladdin
docker安装
如果不懂安装请自行百度。
docker基础命令
- docker ps 查看当前正在运行的容器
- docker ps -a 查看所有容器的状态
- docker start/stop id/name 启动/停止某个容器
- docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
- docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
- docker images 查看本地镜像
docker rm id/name 删除某个容器
docker run –name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
docker run -d -p 2222:22 –name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变