简化配置,应用隔离,快速部署,容器与虚拟机
简介:容器技术的一种实现。解决开发与运维之间的矛盾
简化配置:
应用隔离:
快速部署:
容器与虚拟机的区别:
容器:实现了在APP层的隔离,使用容器对APP进行打包,实现了对APP以及依赖的打包。所有容器共享一个os kernel。支持 多种操作系统。
虚拟机:物理资源虚拟化,物理资源的隔离,Hypervisor:进行物理资源的虚拟化,虚拟化的一层,在Hypervisor之上可以装多个虚拟机。
docker的安装
- 检查内核 ,内核必须为3.1及以上;
- uname -r 检查内核
- 若为3.1以下,则需要升级内核
- 1、导入KEY
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2、安装ELRepo
rpm -Uvh yum install https://www.elrepo.org/elrepo-release-6-9.el6.elrepo.noarch.rpm
3、安装内核
yum --enablerepo=elrepo-kernel install kernel-lt -y
4、修改Grub引导顺序
vi /etc/grub.conf
修改 default=0 ,然后保存退出。
5、重启检查内核
注:若出现
为ca证书版本低,需要yum -y update nss安装完以后执行 ldconfig
或yum reinstall openssl ca-certificates -y && service httpd restart
或yum -y update openssl,三个中一个解决问题。
注:Linux必须为64位系统 - 登录https://docs.docker.com/install/linux/docker-ce/centos/,按照文档执行命令。
docker镜像和容器
概要:
-
docker image
-
自己diy一个base image
3. container跟image的关系,就行Java对象跟class的关系。以及docker基本操作命令
4. 构建自己的docker镜像
docker container commit 把改变的·image生成一个新的image
docker image build
推荐使用下面这种,使用dockerfile进行image生成,这样便于移植。
- dockerFile的关键字语法
From: 尽量使用官方的image走位base image,安全
Labal:描述帮助信息,注释
RUN:安装软件,推荐使用&&,把多条合在一起,避免产生多个临时container
WORKDIR :相当于类似cd,我们要使用workdir而不是run cd
ADD和COPY:
ENV:
区别:
6. 镜像的发布 https//hub.docker.com
发布时,必须要注册账号与密码
先登录,docker login
docker image push
推荐:dockerhub与GitHub关联,生成dockerfile
搭建自己的dockfile服务器:
注:https://github.com/docker-library :提供了各种软件的dockerFile
https//hub.docker.com :提供base image
- 容器的操作:
- 实战:Python程序的打包;压测工具的打包(stress)
- 容器资源限制: