docker 定义与基础命令
Docker 是docker.lnc 公司开源的一个基于LXC技术上构建的Container容器引擎,源代码托管在GitHub上,基于go语言并遵从Apache2.0 协议开源Dokcer 是通过内核虚拟化技术(namespace以及Cgroups 等)来提供容器的资源隔离与安全保障等,由于Docker 通过操作系统层虚拟化实现隔离,所以Docker 容器在运行时不需要类似于虚拟机(Vm)额外的操作系统开销,提高资源利用率
docker 组成是传统的C/S 模式,组件:镜像(image)、容器(container)、仓库(Reository)
docker 与虚拟机的区别
http://note.youdao.com/yws/res/5331/WEBRESOURCEc0c0953219f5126556e4073b1d48ebff
docker 与 虚拟机和openstack 对比
类别DockerOpenstack虚拟机部署难度
非常简单组件多,部署负载简单启动速度秒级分钟级分钟级执行性能和物理系统几乎一致Vm会占用一些资源本身就占用一定资源镜像体积镜像是MB虚拟机镜像是GB 级别虚拟机镜像是GB 级别管理效率管理简单组件相互依赖,管理复杂图形化,管理简单隔离性隔离性高彻底隔离属于单独系统,彻底隔离可管理性单进程,不建议开启ssh完整的系统管理完整的系统管理网络链接比较弱借助Neutron可以灵活组件各类网络架构身体提供虚拟网卡支持 docker
能做什么?
1、简化管理
2、开发效率,可以避免基础环境的部署
3、服务器整合,可以在一个服务器上做个多个服务应用
4、多租户
5、代码流水管理
6、应用隔离
7、debug 调试能力
8、快速部署
docker 缺点:
因为docker 是传统c/s 架构,当服务端冗机所有应用均失效。
docker 基础命令,循序渐进总结中。。。
下载镜像: docker pull centos
查看所有镜像: docker images
导出镜像: docker save centos >/opt/centos.tar.gz
导入镜像: docker load </opt/centos.tar.gz
公共镜像位置:dockerhub
删除镜像: docker rmi (如果镜像关联容器不能被删除)
创建容器并开启 docker run centos /bin/echo "hehe"
查看所有的容器:docker ps -a
查看所有正在运行的容器:docker ps | docker ps -a -l
创建一个自定义的容器: docker run --name mydocker -it centos /bin/bash
-i 标准输入输出打开 -t 分配一个伪终端 /bin/bash 执行一个镜像命令
在容器里执行exit 容器会自动关闭
启动容器: docker start 容器ID
关闭容器: docker stop 容器ID
进入容器: docker attach 容器ID(该方法如果在多端登录会在另一端也会显示)
删除容器: docker rm 容器ID (删除正在运行的容器 -f 参数)
终止所有容器:docker kill $(docker ps -a -q) ---最暴力也最牛b 的重启服务systemctl restart docker
esente 管理容器命令 如果不存在就yum -yutil-linux 注释:该命令为进入另一个进程名称的空间
另一种进入容器退出并不影响容器
docker inspect --format “``.`State`.`Pid`”容器id
nsenter -t 容器pid -i -u -p(进入容器互不影响)
如果在测试的时候可以退出容器并删除提示
docker run --rm 容器名字 /bin/echo "hehe"
搜索容器: docker searche 镜像名字
=============================================================
页:
[1]