大型架构及配置技术Docker

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大型架构及配置技术Docker相关的知识,希望对你有一定的参考价值。

什么是容器

? 容器技术已经成为应用程序封装和交付的核心技术
? 容器技术的核心有以下几个内核技术组成:
– CGroups(Control Groups)-资源管理
– NameSpace-进程隔离
– SELinux安全
? 由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速

什么是Docker

? Docker是完整的一套容器管理系统
? Docker提供了一组命令,让用户更加方便直接地使用容器技术,而丌需要过多关心底层内核技术

Docker特性
Docker优点
? 相比于传统的虚拟化技术,容器更加简洁高效
? 传统虚拟机需要给每个VM安装操作系统
? 容器使用的共享公共库和程序

Docker的缺点
? 容器的隔离性没有虚拟化强
? 共用Linux内核,安全性有先天缺陷
? SELinux难以驾驭
? 监控容器和容器排错是挑战

部署Docker
安装软件
安装前准备
? 需要64位操作系统
? 至少RHEL6.5以上的版本,强烈推荐RHEL7
? 关闭防火墙(不是必须)

安装Docker
? 软件包列表:
– docker-engine
– docker-engine-selinux

什么是镜像
? 在Docker中容器是基于镜像启动的
? 镜像是启动容器的核心
? 镜像采用分层设计
? 使用快照的COW技术,确保底层数据不丢失

Docker hub镜像仓库
? https://hub.docker.com
? Docker官方提供公共镜像的仓库(Registry)
[[email protected]~]#docker search rhel7
[[email protected]~]#docker search centos
[[email protected]~]#docker search nginx
[[email protected]~]#docker search mysql

镜像操作
下载、上传镜像
? 下载镜像(从镜像仓库中下载镜像)
[[email protected] ~]# docker pull rhel7
? 上传镜像(上传镜像到仓库)
[[email protected] ~]# docker push rhel7

导入、导出镜像
? 导入镜像(通过tar包文件导入镜像)
[[email protected] ~]# docker load < xx.tar
[[email protected] ~]# docker images
? 导出镜像(将本地镜像导出为tar文件)
[[email protected] ~]# docker images
[[email protected] ~]# docker save image_name > xx.tar

启动镜像
? 启动centos镜像生成一个容器
[[email protected] ~]# docker images
[[email protected] ~]# docker run -it centos bash
? 开启另一个终端(查看容器信息)
[[email protected] ~]# docker ps

镜像常用命令
命令列表
? 命令列表
– docker images //查看镜像列表
– docker history //查看镜像制作历叱
– docker inspect //查看镜像底层信息
– docker pull //下载镜像
– docker push //上传镜像
– docker rmi //删除本地镜像
– docker save //镜像另存为tar包
– docker load //使用tar包导入镜像
– docker search //搜索镜像
– docker tag //修改镜像名称和标签

docker images
? 查看镜像列表
– 镜像仓库名称
– 镜像标签
– 镜像ID
– 创建时间
– 大小
[[email protected] ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 980e0e4c79ec 8 months ago 196.7 MB

docker history
? 查看镜像历叱
– 了解镜像制作过程
– 详绅参考后面的dockerfile内容
[[email protected] ~]# docker history centos
IMAGE CREATED CREATED BY SIZE COMMENT
980e0e4c79ec 8 months ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 8 months ago /bin/sh -c #(nop) LABEL name=CentOS Base Ima 0 B
<missing> 8 months ago /bin/sh -c #(nop) ADD file:e336b45186086f7d9d 196.7 MB
<missing> 8 months ago /bin/sh -c #(nop) MAINTAINER https://github. 0 B

以上是关于大型架构及配置技术Docker的主要内容,如果未能解决你的问题,请参考以下文章

大型架构及配置技术Docker

大型网站技术架构,8网站的安全架构之信息加密技术及密钥安全管理

阅读《大型网站技术架构》前两章心得体会及总结

《大型网站技术架构:核心原理及案例分析》阅读笔记04

大型网站技术架构 学习总结三(信息加密技术及密钥安全管理)

《大型网站技术架构:核心原理及案例分析》阅读笔记02