有效使用docker logs查看日志 在开发基于Docker的应用程序时,能够在日志中查找特定信息并将此数据保存到文件中可以加快故障排除和调试过程。以下是使用日志选项,tail和grep在docker容器的日志数据中查找所需内容的一些提示。 关于开始使用Docker的帖子 新手docker cli指令和docker run十个选项和其他docker帖子 显示所有日志 在启动Docker容器(例如with)时docker-compose 应用运维 2023-07-16 大白菜程序猿
如何使用dockercompose优雅的运行多个容器 前言: docker公司在2015年收购fig项目,而在早期fig项目是非常热度的,这比kubermetes要早,fig之所以收到欢迎就是因为,fig提出了容器编排,并且在一定范围解决了"容器编排"fig被收购后改名为compose,随即成为docker公司最受欢迎的第二大受欢迎的项目,直到今天仍然被很多人使用。 docker-compose.yml通过使用up和down命令启动和停止容器,并且可 应用运维 2023-07-16 法医
docker标签的简单介绍 如果你已经开始使用docker,你肯定遇到过docker的标签,他们通常看起来像“my_image_name:v1”,其中冒号后面的部分称为标记,标记image时不总是标记,文下会有解释 什么是Docker标签? 那么,Docker标签到底是什么?简单来说,Docker标签传达有关特定images版本/变化的有用信息。它们是image ID的别名,通常如下所示:965b523dfe25。这种类似与 应用运维 2023-07-16 竹子爱熊猫
如何设置docker日志轮换 倘若你在使用docker,那么你肯定遇到过这种情况。 日志太大占用了磁盘空间 有太多了历史日志,查看并不便利 在许多情况下,读取日志在调试时占用了大部分时间。本文介绍如何为Docker容器设置日志轮换。 默认日志记录驱动程序 我们可以为容器配置不同的日志驱动程序 默认情况下,容器的stdout和stderr写在位于/var/lib/docker/containers/[container-id]/ 应用运维 2023-07-16 Escape
如何复现查看docker run参数命令 如果有这样以一个场景。我使用docker run启动了了一个redis容器,而docker run的参数有很多,由于时间太久,我已经忘记了当初的启动参数,也并没有使用docker-compose这样的编排工具。现在我如何进行重启,如何找回此前的启动命令? 示例 使用docker run启动一个容器, docker run --detach --env REDIS_CONF=on --env REQ 应用运维 2023-07-16 穿过生命散发芬芳
如何从docker镜像恢复Dockerfile 有这么两个场景: 1,当我丢失了原本的Dockfile,我希望找回Dockerfile,但是我只有镜像 2,我希望知道一个镜像中的Dockfile详情 鉴于此,我找到了几种解决方案,大致可以复现出Dockfile的很大一部分的内容,如下: 我们有必要了解docker history ,但是仅仅使用docker history --no-trunc是无法提取完整 docker环境 [root@lin 应用运维 2023-07-16 共饮一杯
什么是docker <none><none> image(镜像)? 我们在使用docker build的过程中经常会遇到<none><none>这类的images状态,那么这篇文章主要来简单的解释它是如何产生的,以及它们的影响,我将尝试解释以下几点: 1,什么是<none><none> 2,为什么会存在<none><none> 3,docker images与docker images -a中 应用运维 2023-07-16 宇宙之一粟
docker特权模式与capadd和capdrop 你可能希望在容器中执行的一些高级操作(例如Docker-in-Docker(DinD),NTP,安装环回设备等),默认情况下将需要比给予容器的root用户更高的权限。因此,需要允许其他特权才能使容器无问题地运行,因此对于该用例,Docker具有非常简单但非常宽泛的特权模式,可将完整主机的功能添加到容器中。要使用此模式,只是追加--privileged到docker run命令: Docker-in 应用运维 2023-07-16 张二河
docker多阶段构建MultiStage与Builder对比总结 此前,在早些时候,我发表过Distroless与多阶段构建,其中介绍了简单的多阶段构建方式。阅读本文,你将跟快的了解多阶段构建带来的便利以及使用方法。 本文中主要介绍多阶段构建的方式,这种方式本身就可以节省一部分空间,对于如何缩减镜像大小的几种方式类文章总结将会在此后进行编写发布,那将是后面会发生的事情。我们暂且来看多阶段构建带给我们的便利性 为什么镜像会变大? Docker就像一个版本控制系统。 应用运维 2023-07-16 穿过生命散发芬芳
docker不能忽视的.dockerignore用法 .dockerignore的文章或许对老司机来说是一个过时的话题,但是我已经写了很多关于dockers使用的文章,并且我在讨论群组里面发现有人对此.dockerignore并不清楚,在这种情况下,我有必要重新复述一次。查看本章节,你将了解.dockerignore的使用和注意事项。祝你愉快 Docker镜像可以和普通应用一样运行在云服务上,为什么还要优化它们呢?事实证明使用.dockerignor 应用运维 2023-07-16 宇宙之一粟
docker容器中程序不应该以root用户身份运行 容器中的进程不应以root身份运行,或者假设它们是root用户。正确的方式是使用已知的UID和GID在Dockerfile中创建用户,并以此用户身份运行你的进程。通过限制对资源的访问,遵循此模式的映像更容易安全运行 概观 精心设计的系统遵循最小特权原则。这简单地说明应用程序应该只能访问它所需的资源以执行其所需的功能。这在设计安全系统时至关重要。无论是恶意还是由于某些错误,进程可能会在运行时产生意外 应用运维 2023-07-16 大猫
docker卷和文件系统权限 Docker容器是无状态的(不需要在运行时候做持久化数据)。一般来讲,一些有状态的,存储重要数据的应用需要一些持久存储。卷功能提供了一种支持此要求的方法,但它带有一些关于文件系统权限的问题。 在大多数部署的设置中,将使用容器编排机制,并且持久存储由某些公共云产品提供,这些产品可能具有自己的配置权限的方式。但是,在本地开发或产品的早期迭代期间,最简单的方法是将主机目录公开为docker卷。 简而言之 应用运维 2023-07-16 贤蛋大眼萌
缩减docker镜像大小的5个步骤 docker容器的应用程序易于部署管理是基于docker镜像,一个优良的docker镜像是非常有必要的。 在多数情况下,我们处于无状态应用的快速部署,这个过程中,且不管你在dockerhub使用还是本地镜像仓库使用,合理的镜像的大小也是有必要的。除此之外,我们应该考虑那些? Docker镜像大小的重要性? 网络带宽导致的空闲等待 除了镜像大小外,我们还需要考虑更新迭代的问题,更大的基础镜像意味着需 应用运维 2023-07-16 剑圣无痕
尽可能不在docker镜像中嵌入配置或者密码 切勿将配置或机密信息嵌入Docker镜像中。相反,在构建Docker镜像时,期望使用业务流程运行时将配置和机密的信息提供给容器,这些包含:Kubernetes Secrets,Docker Secrets。而外部工具或环境变量(对于非敏感性)用于非敏感数据。但仍需注意,不要无意中在镜像层的隐藏层中包含机密信息。 概述 容器镜像应该是可重用且安全的。当镜像层包含嵌入式配置或机密信息时,它违反了此规则 应用运维 2023-07-16 大树
docker的安全实践 Docker可以加速部署周期,可以更快速度推出代码。但它也带来了一系列意想不到的安全隐患,你应该知道。 下面是五种常见的场景,其中部署Docker镜像会打开以前可能没有考虑过的新类型的安全问题,以及一些好的工具和建议,你可以使用它们来确保在部署时尽可能的减少安全隐患。 1.镜像的真实性 让我们从一个Docker本质上固有的问题开始:镜像真实性。如果你已经使用Docker一段时间,你将熟悉很多镜像和 应用运维 2023-07-15 大猫
三小时快速入门docker指南 在此之前,我记录了很多章关于docker使用的基础,从安装到编写,其中还有一些常见的使用技巧,这其中还包括一些docker-compsoe的简单操作案例,其中有一些由于编写的时间太久,bug很多,但用来学习绰绰有余,但也仅供参考。 现在,我将所有的文章汇聚在一个页面中方便查看。 假如你是一个docker新手,没有太多时间,你不妨从本章入手学习,假如你想详细了解docker,那我推荐你查看我记录的白 应用运维 2023-07-15 法医
dockercompose2和3的常用参数和资源限制 通常我们在编排一个容器的时候,最简单的方式就是使用docker-compose,compose是简单的将docker run的命令进行组织起来。而在docker早期的产品里面compose被收购后是很重要的一个环节。 当我们run一个容器的时候,一般而言,我们关注她的网络,持久化,资源情况以rabbitmq为例,如下: 2.4 version: '2.4' services: rabbitmq: 应用运维 2023-07-15 大树
zabbix自动发现监控docker stats和top状态 dcoker监控首先需要将docker的name拿出来,循环执行docker stats将数据拿出重新排序后数值换算追加到/tmp/下以name命名 [root@localhost scripts]# cat docker_host_status.sh #!/bin/bash # ----------------------------------------------------------- 云计算 2023-07-15 贤蛋大眼萌
Zabbixcompleteworks之Zabbix基础安装配置 我花了一点时间整理了一套zabbix的安装脚本,便于部署和安装。它包括了zabbix-server,zabbix-agent的安装,初始化配置,在4.0之后加入了docker-compose,随后的server端都采用了docker安装。在最新的更新中,引入了elasticsearch:6.1.4。 git地址:https://github.com/marksugar/zabbix-complet 云计算 2023-07-15 向阳逐梦
dockercompose构建postgresql12主从 postgresql的同步流复制,我们就简单叫主库和备库来表示两个不同的角色,我将分享主从的搭建过程 为了减少在安装上的繁琐流程,我将使用docker镜像,使用docker-compose编排 Docker-Compose version: v2.16.0 image: registry.cn-zhangjiakou.aliyuncs.com/marksugar-k8s/postgres:12.1 数据运维 2023-07-15 大白菜程序猿