标签: 运维

22 个内容

笔记(18)

本文深度解析Docker `--build-arg`(配合`ARG`)用于构建时变量注入,支持多环境镜像构建。多阶段构建需跨阶段重新声明ARG。主要方案:声明ARG、命令行注入;避坑用`--secret`传敏感信息、`ENV`持久运行时变量。

Elliot Yang·
20 浏览

**技术背景**:`docker-compose up` 默认不删除已运行的旧容器,即使配置文件中移除服务,导致孤儿容器残留。 **关键问题**:服务名称修改或删除定义后,旧容器继续存在。 **主要方案**:使用 `docker compose up -d --remove-orphans` 自动移除孤儿容器;或 `docker compose down --remove-orphans` 后重启。(128字符)

Elliot Yang·
71 浏览

文章介绍Docker“幽灵端口”占用问题:lsof/netstat查无进程,常因Docker网络残留、内核保留或WSL2 Hyper-V端口冲突。主要方案:1.强制rm容器+prune网络;2.重启Docker服务;3.WSL2检查/重置Windows保留端口范围。(148字符)

Elliot Yang·
111 浏览

Nginx Ingress Controller 启用严格路径类型验证导致`/openapi.json`无法使用`pathType: Exact`的问题,原因是路径包含点(.)等特殊字符。解决方案包括:使用`ImplementationSpecific`路径类型,使用正则表达式匹配,或禁用严格路径验证。推荐优先使用`ImplementationSpecific`。

Elliot Yang·
451 浏览

Kubernetes NGINX Ingress 默认限制请求体大小,导致上传大文件时出现 413 错误。解决方案包括:针对单个 Ingress 服务,通过添加 Annotation `nginx.ingress.kubernetes.io/proxy-body-size` 来设置请求体大小;或者全局修改 ingress-nginx 控制器的 ConfigMap 或 Helm 参数。修改后需重启 ingress-nginx Pod。

Elliot Yang·
200 浏览

Nginx upstream 配置中 `server bar:3000 resolve;` 指令用于动态 DNS 解析,解决后端服务 IP 动态变化的问题,尤其适用于云原生和容器环境。Nginx 会定期解析主机名获取最新 IP 地址。需配合 `resolver` 指令指定 DNS 服务器,且仅对主机名有效,版本需高于1.11.3。

Elliot Yang·
178 浏览

PowerShell 5及以上版本可将命令历史记录保存至本地文件。通过`Get-Content (Get-PSReadlineOption).HistorySavePath` 或 `type %APPDATA%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt` 命令,用户能够直接读取并查看历史命令,便于回顾和复用。

Elliot Yang·
368 浏览

本文介绍了如何利用 Grafana Loki 和 Promtail 集中管理 Docker Compose 日志。核心问题是如何将 Docker 容器日志集成到 Grafana 中进行可视化。解决方案是使用 Promtail 收集 Docker 日志并推送到 Loki,再通过 Grafana 展示。关键步骤包括配置 Docker Compose 文件、Loki、Promtail,以及 Grafana 数据源。

Elliot Yang·
287 浏览

Docker Compose服务名与公网域名冲突时,容器内访问域名会解析到容器自身而非公网。解决方案包括:修改服务名避开冲突、使用公网IP或修改/etc/hosts强制指定IP、或通过`extra_hosts`显式绑定域名和IP。

Elliot Yang·
229 浏览

本文深入解析了基于微软账户的Windows远程桌面(RDP)技术,从RDP协议演进、账户集成机制、企业级部署、安全加固、性能优化到疑难问题排查进行了详细阐述,并探讨了未来发展方向。

Elliot Yang·
138 浏览

配置GitHub Actions自托管运行器需注意权限与持续运行。避免使用sudo,推荐创建普通用户运行;为保证运行器持续运行,推荐配置为systemd服务,实现稳定运行和开机自启。

Elliot Yang·
96 浏览

本文深入探讨了系统工程师常用运维工具,涵盖 DNS 解析、Docker 容器化、网络诊断、存储管理、日志分析和身份管理。强调理解底层机制,并介绍了 eBPF、containerd 等前沿技术,助力问题解决和技术提升。

Elliot Yang·
106 浏览

本文深入探讨了进程守护,从`nohup`命令原理,到生产级方案演进,包括信号处理、重定向、现代替代方案(disown, tmux, systemd)。强调云原生环境下的进程管理挑战,如PID 1信号处理、优雅关闭,并给出Kubernetes部署及日志管理最佳实践。

Elliot Yang·
90 浏览

本文总结了Nginx常见问题。针对HTTP 499错误,通常是客户端过早关闭连接导致,可调整超时设置、优化应用性能或处理网络问题。但特殊情况下,GFW的关键字过滤也可能导致499。此外,文章对比了`root`和`alias`指令的区别,`root`拼接URI,`alias`直接映射路径,适用于不同场景。

Elliot Yang·
120 浏览

本文是 SSH 使用指南,涵盖 SSH 配置、密钥生成与复制、禁用密码登录、防止 SSH 断连以及本地端口转发等常见操作。重点介绍了通过修改 `~/.ssh/config` 文件配置 SSH 连接,使用 `ssh-keygen` 生成密钥,以及通过配置 `sshd_config` 文件来增强 SSH 安全性。

Elliot Yang·
139 浏览

本文档整理了常用命令,包括DNS缓存刷新(Windows、macOS各版本),Docker镜像清理、构建运行、ENTRYPOINT/CMD区别,网络状态查看(netstat, traceroute, route),日志查看(head, tail, sed),磁盘空间信息(df)以及Linux文件权限管理(chmod, chown, 修改用户UID/GID)。

Elliot Yang·
92 浏览

Linux系统中,当物理内存不足时,可使用Swap分区作为虚拟内存。本文介绍了通过创建Swap文件来设置交换分区的方法,包括使用`dd`命令创建文件、`mkswap`格式化、`swapon`激活,并配置`/etc/fstab`实现开机自动挂载。同时,也介绍了如何取消激活和删除Swap文件。

Elliot Yang·
94 浏览

本文介绍了使用 acme.sh 自动申请 SSL 证书的方法,针对腾讯云(DNSPod)和 Cloudflare 域名,分别给出了配置 API Key 并生成证书的示例。同时,还提到了 acme.sh 默认 CA 切换、corncob 失败以及 zsh 报错等常见问题及解决方案。

Elliot Yang·
98 浏览

动态(4)

E
Elliot Yang
公开

from 咚咚

我有个代码刚才跑着跑着突然就挂了,我也没 改代码啊,而且本地是好的,上线就不行,为 啥 显示思考过程 提问的时候没有日志也没有截图,我唯一能做的就是 帮你算一卦。
浏览:88点赞:0
E
Elliot Yang
公开

解决 Failed to create fleet-default/api cluster.x-k8s.io/v1beta1, Kind=Cluster for rke-cluster fleet-default/api: Internal error occurred: failed calling webhook "default.cluster.cluster.x-k8s.io": failed to call webhook: Post "https://capi-webhook-service.cattle-provisioning-capi-system.svc:443/mutate-cluster-x-k8s-io-v1beta1-cluster?timeout=10s": service "capi-webhook-service" not found

https://forums.rancher.cn/t/docker-run-rancher-rancher-mirrored-pause/3546/14

浏览:362点赞:0
E
Elliot Yang
公开

https://stackoverflow.com/questions/42720618/nginx-show-to-resolve-stopped-emerg-11-host-not-found-in-upstream

如果 upstream 可能异常,但你希望 Nginx 能正常启动,可以使用 以下方法 让 Nginx 忽略 upstream 解析失败的情况。
浏览:182点赞:0