1.虚拟化
VMware·Workstation Pro 个人版
VM sphere·ESXI·企业版
docker什么,是容器之一,虚拟化产品
2.docker和虚拟化对比
虚拟化
启动时间长,虚拟机需要占用本机资源
容器
启动快,共享主机虚拟内核,容器优势对于市场上流行的技术来说是微服务
对应用程序和系统进行解耦,发布,更新,移植 ,冗余备份方便
3.docker基本三要素
镜像 融器的基础
容器 镜像启动实例
仓库 集中保存镜像容器的地方
其他要素
image
contatiner
engine
docker是c/s构架 ,server端位于系统,表现形式是守护进程daemon
4.docker底层原理
4.1cgroup资源限制
4.2namespace资源隔离
namespace 六个名称空间
5.docker常规命令
基于image contatiner 命令
docker search
pull
push
tag
rmi
save -o
login
inspect
rm
cp
create
start/stop
ps -a
exec -it
load
import
export
docker网络
host
和宿主机共享网络
container
多个容器共享一个网络
none
自闭空间
bridge
通过veth pair设备对连容器与docker 0网桥 网桥分配地址给容器ip ,同时docker 0 作为局域网内容的网关,最后与宿主机网络(网卡)进行通信
自定义
可以给容器指定ip
容器有哪些状态?
7种
create 已创建未运行
running正在运行
restarting 容器正在启动
remove 容器正在迁移
pasued 已暂停状态的容器
exited 停止状态
dead死亡状态,操作系统出现异常 或者端点关机等有可能会引发dead状态·
cgroup资源限制
cpu 内存 I/O
cpu-share 权重
cpu-quite cpu使用率
cpu-period cpu周期
cpu-set 容器绑定指定的cpu 0 1 2 3 4
内存
内存使用上限
内存+swap 使用上限
dockerfile *****
创建镜像过程 如何自定义一个镜像
1.基于现有镜像创建
docker run 创建启动容器 通过docker exec cp 等修改容器的配置
然后再去 docker commit 提交新的镜像
2.基于dockerfile
先用from 指定基础镜像
在用maintainer 指定运维人员的信息
然后用run expose add env workdir user 等指令编写构建镜像的过程
最后使用 cmd 命令和entpyont 指令启动容器时启动指令
cmd ,entpyoint的区别
如何缩小docker构建的镜像
尽可能缩小你指令或者命令的数量 举例 RUN linux 尽量把多个命令合并在一个RUN 下
尽可能使用 最最简介的基础镜像
使用多阶段构建
docker-compose 可以简化docker容器之间的管理工具,让多个容器间的部署连接更加翻遍简单
工程(项目)lnmp
服务nginx mysql php
yaml编写注意事项
docker-compose 字段命令
consul 注册中心 解耦 服务发现 服务管理
consul 可以与多个不同服务一同使用包括k8s doxker mescos
端口
8300
8301
8302
8500
8600
consul agent sever 模式