docker-compose和docker-harbor
docker-compose
自动编排工具,可根据dockerfile自动化部署docker容器
yaml文件格式,注意缩进
docker-harbor 私有仓库
公有云------阿里云,腾讯云
私有云------docker仓库
仓库--------保存镜像的地址
Harbor是vmware公司做的docker仓库的项目,就是帮助用户快速的搭建一个仓库,自带图形的管理ui,能够基于角色进行权限的控制。
harbor仓库每一个组件都是依赖docker的容器构建,1使用docker-compose一键部署。
harbor特点
1.基于角色控制,不同用户在项目中有不同的权限。harbor是按照项目组织的
2.多个harbor之间可进行镜像之间的同步
3.可以再ui界面直接对镜像进行管理,增删改查
4.自带审计功能,所有的对镜像的操作都有记录
***docker重点:
1.基本操作
docker cp 宿主机---容器
容器---宿主机
docker 导出镜像 导入镜像
docker ps -a 常看所有的容器
docker images 查看镜像
docker exec -it 容器名 bash ---进入正在运行的容器
docker logs -f 容器名---查看容器日志
docker status---查看所有容器使用系统资源的情况
docker rm -f 容器名/id---删除容器(正在运行的容器也可以删除
)
docker rmi -f 镜像名/id 删除镜像
2.容器之间的隔离
namespace---命名空间的隔离
6个
3.网络模式(必须滚瓜烂熟)
bridge(默认)
host---容器和宿主机公用网络
container模式---容器和容器之间共用网络
none模式---单机模式
自定义网络-----只有创建自定义网络之后,才能给容器指定ip(特殊的bridge)
4.资源限制和数据卷
cpu --cpu-quota
--cpu-share 512 默认1024,值是1024的倍数 多个容器配置权重才会生效
内存 -m 1g
数据卷:
-v 宿主机目录 容器目录
-v 目录---容器卷(容器之间的挂载卷)
--volumes-from 容器名
5.dockerfile 重中之重
FROM
RUN:尽量再一个run命令,写多个执行的命令,减少分层,减少了镜像的大小。
CMD和ENTRYPOINT区别:
① ② ③
ADD和COPY
ADD可以解压,可以下载,可以复制。但不能复制是压缩格式的文件.tar.gz
6.docker-compose ---一键编排容器
7.Harbor----仓库,保存
docker缺点
1.docker是单机模式,只能在宿主机上通信。不能跨主机
2.docker没有管理工具,绝大部分是依赖命令行,学习成本
3.docker一旦创建,没有办法重新修改,只能推导重来
4.docker没有副本,一旦容器或者节点主机故障,整个服务全部失败