监控方案
监控方案我选择了 Zabbix,要实现对每个容器信息的监控,需要 zabbix-docker-monitoring 插件。
配置服务端
Zabbix 是 C/S 架构,服务端最好能配置在一台独立的宿主机上。
服务端 docker-compose 文件:
监控方案我选择了 Zabbix,要实现对每个容器信息的监控,需要 zabbix-docker-monitoring 插件。
Zabbix 是 C/S 架构,服务端最好能配置在一台独立的宿主机上。
服务端 docker-compose 文件:
nginx-proxy 是一个 Docker 容器, 是实现本文解决方案的神器,只需简单的配置,便可实现为多个容器路由的功能。
1 | docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy |
Docker 远程镜像仓库
Docker Images
是用来创建 docker 容器的只读模版,其中包含了容器启动所需要的所有配置信息和运行程序,一次构建之后可以多次复用。
生产环境中,镜像多了之后很容易把硬盘写满造成服务器宕机,所以需要挂载一块较大的硬盘,修改 docker 的默认存储路径,下面提供两种方案。
方案一:软连接
1 | service docker stop |
Docker 总架构图
docker 系统使用了 C/S 的架构,docker client 通过 REST API 请求 docker daemon 来管理 docker 的镜像和容器等。
应用一般由单独容器化的组件组成,须按照一定顺序在网络级别进行组织,以使其能够按照计划运行,这种对多个容器进行组织的流程称为容器编排,它主要是对容器之间的依赖关系进行编排
docker官方提供的工具,强调单机多容器的编排,能力相对有限,只能在一台宿主机上对容器编排,对于大规模集群环境中,多台机器无法支持,在windows, mac 安装完docker后默认提供docker-compose,但是在windows server , Linux中默认是不提供的,需要自行安装
docker维护着每个容器的元信息,可以通过IP通信,但是在docker环境中每个容器重启之后,容器的虚拟IP都会变动,这样的情况下我们该如何处理? 我们带着这两个疑问看一下今天的内容
如果我们部署了一个tomcat应用,这个应用需要连接mysql数据库,这种场景下,我们需要让tomcat可以访问mysql数据库,这就需要使两个容器之间可以通信
是一个包含用于组合镜像的命令的文本文档
Docker通过读取Dockerfile中的指令按步自动生成镜像
mkdir -p /usr/local/docker/bk-web-dockerfile
cd /usr/local/docker/bk-web-dockerfile
上传bk-web包到此/usr/local/docker/bk-web-dockerfile
目录