【Docker 】深入探索 Docker :高阶操作与配置设置(下)
四、容器的资源限制
4.1 限制 CPU 使用
docker run -d --cpus=".5" --name my_container my_image
4.2 限制内存使用
docker run -d -m 512m --name my_container my_image
五、监控容器状态与性能
监控容器的状态和性能是确保应用顺利运行的重要环节。Docker 提供了多种工具来实现这一目标。
5.1 使用 docker stats
docker stats 命令可以实时监控容器的资源使用情况,帮助用户快速识别资源瓶颈:
docker stats
5.2 使用 docker top
通过 docker top 命令,可以查看容器内正在运行的进程,方便进行故障排查:
docker top my_container
5.3 集成监控工具
使用工具如 Prometheus 和 Grafana 进行容器监控。
可以使用 Prometheus 和 Grafana 等工具进行更深入的容器监控。以下是一个示例 docker-compose.yml 文件,添加了 Prometheus 和 Grafana 服务:
version: '3.8' services: prometheus: image: prom/prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml ports: - "9090:9090" grafana: image: grafana/grafana ports: - "3000:3000"
5.4 使用 cAdvisor
docker run -d --name=cadvisor \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker:/var/lib/docker:ro \ --publish=8080:8080 \ google/cadvisor:latest
5.5 集成 ELK 堆栈
version: '3.8' services: elasticsearch: image: elasticsearch:7.10.1 environment: - discovery.type=single-node ports: - "9200:9200" logstash: image: logstash:7.10.1 volumes: - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf
六、日志管理
6.1 查看容器日志
docker logs my_container
6.2 实时查看日志
docker logs -f my_container
6.3 查看所有可用日志驱动
docker info | grep "Logging Driver"
6.4 配置日志驱动
在 Docker Daemon 配置文件中设置日志驱动,例如使用 json-file 或 syslog。在 Docker 配置中限制日志文件的大小和数量。
在 Docker Daemon 的配置文件中(如 /etc/docker/daemon.json)添加:
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" "gelf-address": "udp://localhost:12201" } }
总结
————————————————
本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!
云掣基于多年在运维领域的丰富时间经验,编写了《云运维服务白皮书》,欢迎大家互相交流学习:
《云运维服务白皮书》下载地址:https://fs80.cn/v2kbbq
想了解更多大数据运维托管服务、数据库运维托管服务、应用系统运维托管服务的的客户,欢迎点击云掣官网沟通咨询:https://yunche.pro/?t=shequ