问题列表 - 第5204页

docker-compose `restart:always` 随机不起作用

我管理一些安装了 Docker CE 的 Debian 服务器,并且 docker-compose 编排了多个服务(每台机器大约 20 个容器)。

每个服务都配置有restart: always每个服务都在 docker-compose 中但是,有一些随机服务(通常每台计算机有 1-2 个)可以正确关闭,但在主机重新启动期间不会重新启动。这种行为是完全随机的。有时所有服务都会启动,有时 docker-compose.yml 文件中的一项服务不会重新启动。

以下是 Traefik 正确关闭但未出现的示例:

  1. 配置为自动重启的服务:
$ cat docker-compose.yml
version: '3'

services:
  reverse-proxy:
    image: traefik:1.7
    restart: always
    command: --web
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
    networks:
      - web

Run Code Online (Sandbox Code Playgroud)
  1. 退出代码是 128
$ docker-compose ps
         Name                Command        State     Ports
-----------------------------------------------------------
traefik_reverse-proxy_1   /traefik --web   Exit 128
Run Code Online (Sandbox Code Playgroud)
  1. 日志显示该服务已正确关闭,但此后没有任何活动迹象:
$ docker-compose logs --tail 6 -t
Attaching to traefik_reverse-proxy_1
reverse-proxy_1  | 2022-01-21T14:05:28.042399112Z …
Run Code Online (Sandbox Code Playgroud)

debian docker docker-compose

5
推荐指数
0
解决办法
6189
查看次数

try_files 指令中的 $uri 和 $uri/ 有什么区别?

这是配置:

\n
index index.html;\nlocation / {\n    try_files $uri $uri/ = 404;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我在 http://localhost/path/a/ 发出请求。我假设这是 URI,因此在 $uri 阶段,try_files 将查看 /path/a/ 并提供 index.html(如果有)。

\n

我从文档中读到It is possible to check directory\xe2\x80\x99s existence by specifying a slash at the end of a name, e.g. \xe2\x80\x9c$uri/\xe2\x80\x9d.但这对我来说没有任何意义。

\n

nginx

2
推荐指数
1
解决办法
1万
查看次数

root 登录或 sudo 用户进行服务器管理?

我试图理解直接使用 root 进行 ssh 或在维护服务器的情况下创建辅助 sudo 用户之间的技术参数/安全影响。为了澄清这一点,我们讨论的是单个管理员拥有的服务器。对于在机器上工作的多人来说,很明显,为每个实际人员拥有唯一的用户和细粒度的权限可以带来审计跟踪的好处。

我的想法是,如果这是一个桌面站,那么这是有道理的,建议使用非root用户进行日常工作,但在服务器上,您通常登录来维护它,并且99%的时间您的所有活动都需要root权限。

那么,创建一个“代理”用户(无论如何都要 sudo 到 root,而不是直接提供对 root 的 ssh 访问权限)是否有任何安全优势呢?

我能想到的唯一好处是通过模糊性实现安全性,即机器人通常会尝试探测“root”用户。但从我的角度来看,如果 sudoers 的用户受到威胁,就等同于 root 用户受到威胁,所以游戏就结束了。

此外,大多数远程管理框架、NAS 系统、虚拟机管理程序都鼓励使用 root 用户进行 Web 登录。

security linux ssh root sudo

20
推荐指数
5
解决办法
7477
查看次数

SAR 服务已停止收集数据

我们sar在 Ubuntu 服务器上工作,但在服务器上做了一些工作,现在它停止记录到当天的日志文件。

sar -b 5 5
Run Code Online (Sandbox Code Playgroud)

这说明还sar活着,并且有监控数据,但是

ubuntu@testing:/var/log/sysstat$ sar
Run Code Online (Sandbox Code Playgroud)

输出:

Linux 5.4.0-1063-azure (server)     02/22/22    _x86_64_    (4 CPU)

10:22:05     LINUX RESTART  (4 CPU)

10:22:46     LINUX RESTART  (4 CPU)

10:24:25     LINUX RESTART  (4 CPU)

16:34:04     LINUX RESTART  (4 CPU)
Run Code Online (Sandbox Code Playgroud)

cron 和sysstat配置没有改变。

*/1 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
Run Code Online (Sandbox Code Playgroud)

为什么统计数据没有添加到日志中?

sar

6
推荐指数
2
解决办法
1672
查看次数

为什么仅启用 TLSv1.3 是一个坏主意?

我将 NGINX 配置为仅支持 TLS 版本 1.3 但是当我转到https://check-your-website.server-daten.de/时

它显示错误

创建 TLS 连接时出错:找到 TLSv1.3,但无法通过 TLSv1.2 进行连接。请激活 TLSv1.2

仅启用 TLSv1.3 不是更安全吗?为什么我们还需要启用 TLSv1.2?

security nginx

5
推荐指数
1
解决办法
1984
查看次数

如何在运行 openjdk:17-oracle 的容器中安装 xargs

我正在尝试在运行 openjdk:17-oracle 的容器中安装 xargs,但我无法确定此映像中存在什么包管理器。

FROM openjdk:17-oracle
RUN apt-get install findutils
Run Code Online (Sandbox Code Playgroud)

抛出错误:

 => ERROR [stage-1 4/4] RUN apt-get install findutils                                                                      0.5s
------
 > [stage-1 4/4] RUN apt-get install findutils:
#13 0.395 /bin/sh: apt-get: command not found
-
Run Code Online (Sandbox Code Playgroud)

yum install findutils和其他几个一样。

我需要 xargs,因为 gradle 运行程序使用它来为我的 java 进程构建“执行”命令。

java containers oracle-linux

4
推荐指数
1
解决办法
6866
查看次数

“降级”的 RAID 6 阵列和“干净”的 RAID 5 阵列有什么区别?

假设您有两个 RAID 阵列,一个有 N 个磁盘,另一个有 N+1 个磁盘。具有 N 个磁盘的阵列被格式化为RAID\xc2\xa05并保持不变,而另一个阵列在其中一个磁盘被移除之前被格式化为RAID\xc2\xa06 。现在,两个阵列都有 N 个磁盘,N-1 个磁盘的可用存储空间,并且可以在丢失一个(多个)磁盘的情况下幸存下来。

\n

除了 RAID 控制器使用的任何元数据之外,这两个阵列之间是否有任何差异(在数据布局、性能和可靠性方面)?我能否将缺少一个磁盘的 RAID\xc2\xa06 阵列转换为一个较少预期磁盘的 RAID\xc2\xa05,并尽可能减少“重塑”/“重写”?

\n

我知道 RAID 5 和 RAID 6 中有不同的“策略”/“对齐”,但这可能超出了这个问题的范围。也许应该假设两个阵列都使用两个 RAID 级别通用的策略。

\n

raid performance raid5 raid6 fault-tolerance

16
推荐指数
1
解决办法
3287
查看次数

只有一个 TCP 套接字(通过 nc)能够同时向同一主机/端口发送数据

简单的重现 - 在一个窗口中观察顶部的进程,在另一个窗口中运行:nc -lkp 10000 > /dev/null & ( head -50000000 /dev/urandom | nc -N 127.0.0.1 10000 ) & ( head -50000000 /dev/urandom | nc -N 127.0.0.1 10000 )

请注意,只有一个head进程nc正在主动使用 CPU。

将 strace 附加到head不活动的 - 看到它在写入时停止,例如:

strace: Process 589084 attached
write(1, "\264\347\270\26\27\24'BRb^\353\302\36@\216\17V\210*n\252`\353\330\351\276\2\250\330\350\217"..., 4096^Cstrace: Process 589084 detached
 <detached ...>
Run Code Online (Sandbox Code Playgroud)

在不同的端口上设置两个侦听器 - 例如 10000 和 10001,并且两者都全速运行。

这是一个简单的示例,但我可以使用其他输入和输出来重现它 - 例如 zcatting 大文件并通过网络将它们发送到生产服务。这与输入无关,也与监听套接字无关。

那么 - 为什么我只能有一个 tcp 连接到任何给定的主动发送数据的主机/端口?

有一个独立的数据源(如果您不相信我,请随意实验),以及一个打开自己的 TCP 连接的独立进程(netstat将显示它们都打开) - 唯一的共同点是目的地(它不必须nc倾听 …

linux linux-networking

3
推荐指数
1
解决办法
1341
查看次数

在 Hyper-V 故障转移群集中混合服务器模型

有人有在 Hyper-V 故障转移群集中使用异构服务器的经验吗?我们有一个包含混合代 Proliant(DL360 G9 和 DL360 G10)的集群,我正在考虑将戴尔服务器引入该组合,主要是由于可用性和价格。这是一个坏主意吗?为什么?

hyper-v failovercluster

4
推荐指数
1
解决办法
278
查看次数

在 IIS 服务器上设置 SMTP 时如何解决“管理单元错误”?

我已经安装了 IIS 6.0 管理器和 SMTP 服务器。当我右键单击 [SMTP 虚拟服务器 #1],然后单击“属性”时,收到此错误“MMC 已检测到管理单元中存在错误。建议您关闭并重新启动 MMC。”

我尝试过这种方法:fix-mmc-has-detected-an-error-in-a-snap-in-when-a-non-administrator-starts-sna-manager-in-host-integration-server

我在对象名称中输入了 HIS 管理员,但收到一条消息,指出在对象名称中未找到 HIS 管理员。但我在那里添加了服务器管理员。在文章“在运行主机集成服务器的服务器上重新启动 SnaBase 服务”。我找不到 SnaBase 服务。我需要重新启动 IIS 服务器吗?

iis smtp mmc

1
推荐指数
1
解决办法
7488
查看次数