AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-2411

Paul Dixon's questions

Martin Hope
Paul Dixon
Asked: 2018-03-05 13:41:00 +0800 CST

Docker COPY/ADD 不再复制差异?

  • 1

很长一段时间以来,我使用 Docker 和一个中间容器构建了一个应用程序,例如,我将构建myapp:base一个复制了所有核心文件的应用程序:

FROM ubuntu:17.10
ADD app /app

myapp:release现在,可以简单地用这个创建主容器

 FROM myapp:base 
 ADD app /app

目录中可能会修改一些文件app,最后我会添加一个小的额外层。

不过最近,这个决赛ADD导致了一个更大的层,我怀疑它与 Docker 更新有关(我使用的是 Docker 版本 18.02.0-ce,构建 fc4de44)

Docker 找出不同之处的方式是否发生了变化?我怎样才能回到一个层中只有少量更新文件的高效构建?

重现步骤:

# make a dummy dir with a 64kb file in it

mkdir -p files
truncate -s 64k files/64k.file

# base container has a copy of the files

cat << EOF > Dockerfile.base
FROM ubuntu:16.04
COPY files/ /root/
EOF

# derived container should just have any updates

cat << EOF > Dockerfile.derived
FROM q899941:base
COPY files/ /root/
EOF

# build them....

docker build --file Dockerfile.base -t  q899941:base .
docker build --file Dockerfile.derived -t  q899941:derived .

# now let's review the layers

docker history q899941:derived

我得到这个结果

IMAGE               CREATED                  CREATED BY                                      SIZE  
4e1eb5168d55        Less than a second ago   /bin/sh -c #(nop) COPY dir:8e20ede288278c71e…   65.5kB
022626ac5cf0        Less than a second ago   /bin/sh -c #(nop) COPY dir:8e20ede288278c71e…   65.5kB
0458a4468cbc        5 weeks ago              /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B    
<missing>           5 weeks ago              /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B    
<missing>           5 weeks ago              /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$…   2.76kB
<missing>           5 weeks ago              /bin/sh -c rm -rf /var/lib/apt/lists/*          0B    
<missing>           5 weeks ago              /bin/sh -c set -xe   && echo '#!/bin/sh' > /…   745B  
<missing>           5 weeks ago              /bin/sh -c #(nop) ADD file:a3344b835ea6fdc56…   112MB

即使没有文件更改,顶层也是 64kb。

docker
  • 1 个回答
  • 157 Views
Martin Hope
Paul Dixon
Asked: 2015-04-09 12:20:19 +0800 CST

从 discovery.etcd.io 中删除陈旧的 CoreOS 节点

  • 1

我从 CoreOS 集群中删除了一个节点,并在其位置上创建了一个新节点。不幸的是,它获取了与旧机器相同的 IP。

这阻止了 etcd 发现集群的其余部分,在日志中显示如下消息:“失败:加入请求失败:对等地址已存在”

如何从 discovery.etcd.io 中删除旧节点?

coreos
  • 1 个回答
  • 2578 Views
Martin Hope
Paul Dixon
Asked: 2015-03-25 11:26:57 +0800 CST

使用 MAXNAN 帮助聚合多个 rrd 数据库

  • 0

我有多个 RRD 数据库,每个数据库都包含从不同位置观察到的关于服务可用性的不完整数据。他们只是记录100服务是启动还是0关闭。

我想制作一个图表,显示该服务是否可以从任何位置获得,只需检查我是否在相关时间段的一个 RRD 中有任何数据。

我正在尝试使用 CDEF 来执行此操作,该 CDEF 使用 MAXNAN 来查找我的平均数据源的最大值 - 这是一个简化的示例:

rrdtool graph /tmp/graph.png -a PNG \
--start=1427213255 \
--end=1427224055 \
--upper-limit=100 \
--lower-limit=0 \
--rigid \
DEF:d0=/tmp/location1.rrd:available:AVERAGE \
DEF:d1=/tmp/location2.rrd:available:AVERAGE \
CDEF:agg=d0,d1,MAXNAN \
AREA:agg#00DD00:availability

这会产生错误

ERROR: invalid rpn expression in: d0,d1,MAXNAN

我哪里错了?

rrdtool
  • 1 个回答
  • 189 Views
Martin Hope
Paul Dixon
Asked: 2014-07-01 03:00:11 +0800 CST

在 Amazon VPC 内的 Ubuntu 14.04 机器上永久设置 MTU

  • 2

我有一些在 Amazon VPC 中运行的 Ubuntu 14.04 机器。当它们启动时,它们的 MTU 为 9001,但这在与 MTU 为 1500 的其他服务器通信时似乎会导致一些问题。当我使用ip link set dev eth0 mtu 1500这些问题时,这些问题就消失了。

问题是我似乎无法找到使其永久化的正确方法。

/etc/network/interfaces.d/eth0.cfg看起来像这样

auto eth0
iface eth0 inet dhcp
pre-up /sbin/ip link set dev eth0 mtu 1500

我也尝试过添加mtu 1500到该节的底部。

如果我重新启动,机器将以 1500 的 MTU 恢复。

那么正确的方法是什么?

amazon-vpc
  • 2 个回答
  • 16276 Views
Martin Hope
Paul Dixon
Asked: 2009-10-26 10:26:05 +0800 CST

mod_rewrite REQUEST_FILENAME 不包含绝对路径

  • 8

我在 mod_rewrite RewriteCond 条目中的文件测试操作存在问题,该条目正在测试是否%{REQUEST_FILENAME}存在。似乎%{REQUEST_FILENAME}我不是一条绝对路径,而是一条植根于的路径DocumentRoot。

配置

我<VirtualHost>在我的 apache 2.2.9 配置中的一个块中有这个:

RewriteEngine on
RewriteLog /tmp/rewrite.log
RewriteLogLevel 5

#push virtually everything through our dispatcher script
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([^/]*)/?([^/]*) /dispatch.php?_c=$1&_m=$2 [qsa,L]

已尝试诊断

该规则是通过脚本路由对不存在的文件或目录的请求的常用习惯用法。麻烦的是,即使文件确实存在,它也会触发。

如果我删除规则,我可以请求普通文件就好了。但是有了规则,这些请求就会被定向到 dispatch.php

重写日志跟踪

这是我在 rewrite.log 中看到的

init rewrite engine with requested uri /test.txt
applying pattern '^/([^/]*)/?([^/]*)' to uri '/test.txt'
RewriteCond: input='/test.txt' pattern='!-f' => matched
RewriteCond: input='/test.txt' pattern='!-d' => matched
rewrite '/test.txt' -> '/dispatch.php?_c=test.txt&_m='
split uri=/dispatch.php?_c=test.txt&_m= -> uri=/dispatch.php, args=_c=test.txt&_m=
local path result: /dispatch.php
prefixed with document_root to /path/to/my/public_html/dispatch.php
go-ahead with /path/to/my/public_html/dispatch.php [OK]

因此,在我看来,REQUEST_FILENAME 被呈现为来自文档根目录的路径,而不是文件系统根目录,这可能是文件测试操作符失败的原因。

任何解决此问题的指示都非常感谢...

apache-2.2
  • 4 个回答
  • 5497 Views
Martin Hope
Paul Dixon
Asked: 2009-09-12 02:15:44 +0800 CST

如何确定未分区的空间

  • 1

我在几年前建立的系统上使用 LVM。当时我在驱动器上留下了一些未分区的空间,以便创建 LVM 快照。

我现在忘记了我预留了多少空间。

我怎样才能看到有多少是免费的?

linux
  • 3 个回答
  • 609 Views
Martin Hope
Paul Dixon
Asked: 2009-06-19 04:17:26 +0800 CST

无法从外部访问 vsftpd

  • 1

我刚刚yum install vsftpd在 CentOS 5.3 机器上做了一个基本操作,我可以从机器本身的外壳 FTP 到机器 IP 地址,但不能从同一 LAN 上的任何其他机器 FTP。

$ ftp 1.2.3.4
ftp: connect: Connection refused

已尝试的故障排除步骤:

  • 在本地机器 A 上,尝试使用有效凭据 FTP 到 A 的 IP,成功
  • 在同一网络上的机器 B 上,尝试 FTP 到 A 的 IP,如上所示,连接被拒绝
  • 来自同一台机器 B,nmap 显示端口 21 打开
  • 从同一台机器 B,可以 telnet 到端口 21 并查看 vsftpd 横幅
  • 所以,似乎守护进程正在侦听,但是来自外部的连接尝试导致它拒绝连接。

....在重写这个问题时,我重新启动了 vsftpd 守护进程,一切都开始按预期工作。

linux centos ftp
  • 4 个回答
  • 6762 Views
Martin Hope
Paul Dixon
Asked: 2009-06-02 07:56:04 +0800 CST

尝试挂载 NFS 文件系统时出现“挂载:RPC:超时”

  • 3

重启 NFS 服务器后,客户端机器无法挂载它,返回消息“mount: RPC: Timed out”

  • 我已经通过清除它们排除了 iptables 规则
  • 服务器上的 /etc/exports 不变
  • 从客户端到服务器的 rpcinfo -p 看起来没问题:
    程序与原始端口
    100000 2 tcp 111 端口映射器
    100000 2 udp 111 端口映射器
    100003 2 udp 2049 nfs
    100003 3 udp 2049 nfs
    100003 2 tcp 2049 nfs
    100003 3 tcp 2049 nfs
    100021 1 udp 32791 nlockmgr
    100021 3 udp 32791 nlockmgr
    100021 4 udp 32791 nlockmgr
    100021 1 tcp 32768 nlockmgr
    100021 3 tcp 32768 nlockmgr
    100021 4 tcp 32768 nlockmgr
    100005 1 udp 618 已安装
    100005 1 tcp 621 挂载
    100005 2 udp 618 已安装
    100005 2 tcp 621 挂载
    100005 3 udp 618 已安装
    100005 3 tcp 621 已安装
    100024 1 udp 32765 状态
    100024 1 tcp 32765 状态

非常感谢进一步诊断的建议!

linux nfs debian mount timeout
  • 2 个回答
  • 27449 Views
Martin Hope
Paul Dixon
Asked: 2009-05-15 07:47:37 +0800 CST

解决 Samba 服务器上的高 iowait

  • 1

我们有一个集中的文件缓存,一组 Web 服务器使用它来存储“重量级”页面。每个网络服务器都使用 Samba 来挂载这个共享区域。

我们在服务器上有很多 iowait,我想知道我们可以采取哪些步骤来制作更有效的集中式缓存?我们已经将 memcache 用作某些对象的第一行缓存,并且可能只是为此投入更多内存,但我很想找出我们可以使用哪些技术来加速基于文件的缓存。所有服务器都运行最新版本的 Ubuntu。

服务器使用带有 LVM 的 ext3 文件系统。也许其他文件系统对于这种活动会更有性能?我们使用 Samba 多年只是因为每个人都对它感到满意,而且我们对 NFS 的维护感到头疼(例如,拒绝卸载)。也许有更好的技术...

cache samba iowait
  • 4 个回答
  • 5492 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve