{
  "version": "https://jsonfeed.org/version/1", 
  "title": "Alpine Linux", 
  "description": "Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.", 
  "home_page_url": "https://www.v2ex.com/go/alpine", 
  "feed_url": "https://www.v2ex.com/feed/alpine.json", 
  "icon": "https://cdn.v2ex.com/navatar/e5e6/3da7/1083_large.png?m=1647251308", 
  "favicon": "https://cdn.v2ex.com/navatar/e5e6/3da7/1083_normal.png?m=1647251308", 
  "items": [
    {
      "author": {
        "url": "https://www.v2ex.com/member/wenerme", 
        "name": "wenerme", 
        "avatar": "https://cdn.v2ex.com/gravatar/4d4f9562b20ad0ceaa05a4553cccf107?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/1177472", 
      "title": "Alpine 3.23 \u53d1\u5e03\u4e86", 
      "id": "https://www.v2ex.com/t/1177472", 
      "date_published": "2025-12-08T01:34:19+00:00", 
      "content_html": "<p>Alpine 3.23 \u53d1\u5e03\u4e86</p>\n<p><a href=\"https://alpinelinux.org/posts/Alpine-3.23.0-released.html\" rel=\"nofollow\">https://alpinelinux.org/posts/Alpine-3.23.0-released.html</a></p>\n<p><strong>\u7248\u672c\u5347\u7ea7</strong></p>\n<ul>\n<li>Linux 6.18</li>\n<li>Node 24</li>\n<li>Go 1.25</li>\n<li>PostgreSQL 18</li>\n<li>OpenJDK 25</li>\n<li>\nValkey 9 - \u66ff\u4ee3 Redis<ul>\n<li>\u867d\u7136\u73b0\u5728 Redis \u5df2\u7ecf\u534f\u8bae\u53c8\u6539\u56de\u6765\u4e86\uff0c\u4f46\u662f\u66ff\u4ee3\u8fc7\u7a0b\u5e94\u8be5\u4e0d\u53ef\u9006\u4e86</li>\n<li>\u652f\u6301 <strong>HASH field ttl</strong></li>\n<li>Cluster \u6a21\u5f0f\u652f\u6301\u591a DB</li>\n<li>\u539f\u5b50 SLOT \u8fc1\u79fb</li>\n</ul>\n</li>\n<li>\nZFS 2.4<ul>\n<li>\u5b98\u65b9\u8fd8\u6ca1\u6b63\u5f0f\u53d1\u5e03\uff0c\u76ee\u524d\u662f\u5305\u542b\u7684 RC \u7248\u672c</li>\n<li>\nScrub Error Only<ul>\n<li><code>zpool scrub -e</code></li>\n<li>\u53ea\u4f1a\u53bb\u626b\u63cf\u548c\u4fee\u590d\u5b83\u5df2\u77e5\u6709\u9519\u8bef\u7684\u90a3\u4e9b\u5757, \u4e0d\u518d\u9700\u8981\u5168\u76d8\u626b\u63cf</li>\n<li>\u6570\u636e\u4fee\u590d\u65f6\u95f4\u5927\u5e45\u964d\u4f4e: \u51e0\u5929 -&gt; \u51e0\u5206\u949f</li>\n</ul>\n</li>\n<li>\nVDEV Properties<ul>\n<li>\u4ee5\u524d\u662f pool \u548c dataset \u7ef4\u5ea6, \u73b0\u5728\u652f\u6301 vdev \u7ef4\u5ea6</li>\n<li>\u4f8b\u5982\u53ef\u4ee5\u9488\u5bf9 SSD \u548c HDD \u5206\u522b\u8bbe\u7f6e\u4e0d\u540c\u7684\u5c5e\u6027</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\nDocker 29<ul>\n<li>\u53ef\u80fd\u4f1a\u6709\u4e9b\u8c03\u7528 Docker \u7684\u51fa\u73b0\u4e0d\u517c\u5bb9\u60c5\u51b5\uff0cDocker 29 \u53d8\u5316\u8f83\u5927</li>\n</ul>\n</li>\n<li>\napk-tools v3<ul>\n<li>\u4f9d\u8d56\u4f18\u5316: SAT Solver, Backtracking</li>\n<li>\u7f51\u7edc\u4f18\u5316: HTTP/2, \u5e76\u884c\u4e0b\u8f7d, \u91cd\u8bd5, \u65ad\u7535\u7eed\u4f20</li>\n<li>\u4e3a\u672a\u6765 APK v2 -&gt; APKv3 \u505a\u51c6\u5907: ADB - Alpine Data Blob</li>\n<li>\u652f\u6301 Xattr &amp; ACL</li>\n<li>\u53bb\u6389\u4e86 ftp \u652f\u6301</li>\n<li><a href=\"https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0\" rel=\"nofollow\">https://gitlab.alpinelinux.org/alpine/apk-tools/-/releases/v3.0.0</a></li>\n</ul>\n</li>\n<li>ffmpeg 8</li>\n</ul>\n<p><strong>\u53d8\u5316</strong></p>\n<ul>\n<li>\nlinux-edge -&gt; linux-stable<ul>\n<li>\u66f4\u63a5\u8fd1\u6eda\u52a8\u66f4\u65b0</li>\n<li>\u914d\u7f6e\u548c linux-lts \u76f8\u540c</li>\n</ul>\n</li>\n<li>\nnftables-rulesets<ul>\n<li>\u5305\u542b\u53ef\u7528\u7684\u4e00\u4e9b\u89c4\u5219 /usr/share/nftables.avail/</li>\n</ul>\n</li>\n<li>udev rules \u88ab\u62c6\u5206\u5230\u4e86 <code>$pkgname-udev</code></li>\n<li>\nsystemd \u670d\u52a1\u5b50\u5305 <code>$pkgname-systemd</code><ul>\n<li>systemd \u5df2\u7ecf\u5728\u5b98\u65b9\u652f\u6301 musl \u4e86</li>\n<li>\u76ee\u524d\u8fd8\u4e3b\u8981\u662f\u9762\u5411 postmarketOS</li>\n</ul>\n</li>\n<li>\ncurl HTTP/3<ul>\n<li>nghttp3, openssl-quic</li>\n</ul>\n</li>\n</ul>\n<p><strong>\u5176\u4ed6</strong></p>\n<ul>\n<li>\u5ef6\u540e\u4e86 /usr \u5408\u5e76</li>\n</ul>\n<hr/>\n<ul>\n<li><a href=\"https://wener.me/notes/os/alpine/version\" rel=\"nofollow\">https://wener.me/notes/os/alpine/version</a></li>\n</ul>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wenerme", 
        "name": "wenerme", 
        "avatar": "https://cdn.v2ex.com/gravatar/4d4f9562b20ad0ceaa05a4553cccf107?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/998597", 
      "title": "AlpineLinux 3.19 \u53d1\u5e03\u4e86", 
      "id": "https://www.v2ex.com/t/998597", 
      "date_published": "2023-12-08T02:52:08+00:00", 
      "content_html": "<h2>AlpineLinux 3.19</h2>\n<ul>\n<li>Linux kernel 6.1 -&gt; 6.6</li>\n<li>\n\ud83c\udd99 \u5347\u7ea7\u5305<ul>\n<li>NodeJS 20 LTS</li>\n<li>Go 1.21</li>\n<li>LLVM 17</li>\n<li>PostgreSQL 16</li>\n<li>OpenJDK 21</li>\n<li>PHP 8.3</li>\n<li>Rust 1.72</li>\n<li>ZFS 2.2 - \u652f\u6301 overlayfs - docker/containerd/k3s \u4e0d\u518d\u9700\u8981 zvol</li>\n</ul>\n</li>\n<li>\n\u652f\u6301 Raspberry Pi 5<ul>\n<li><del>linux-rpi4</del> &amp; <del>linux-rpi2</del> -&gt; linux-rpi</li>\n</ul>\n</li>\n<li>\nopenrc<ul>\n<li>\u79fb\u9664 /sbin/rc - \u786e\u4fdd /etc/inittab \u4f7f\u7528 /sbin/openrc</li>\n</ul>\n</li>\n<li>\niptables-nft \u9ed8\u8ba4<ul>\n<li>symlink /sbin/iptables{,-save,-restore} -&gt; xtables-nft-multi</li>\n<li>\u800c\u4e0d\u662f xtables-legacy-multi</li>\n<li>\u4f7f\u7528 nftables \u800c\u4e0d\u662f iptable</li>\n<li>\u65e7\u7684 iptables \u5305 iptables-legacy, iptables-legacy-save</li>\n</ul>\n</li>\n<li><a href=\"https://alpinelinux.org/posts/Alpine-3.19.0-released.html\" rel=\"nofollow\">https://alpinelinux.org/posts/Alpine-3.19.0-released.html</a></li>\n</ul>\n<hr/>\n<p>\u5386\u53f2\u7248\u672c\u53d8\u5316 <a href=\"https://github.com/wenerme/wener/blob/master/notes/os/alpine/alpine-version.md\" rel=\"nofollow\">https://github.com/wenerme/wener/blob/master/notes/os/alpine/alpine-version.md</a></p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wenerme", 
        "name": "wenerme", 
        "avatar": "https://cdn.v2ex.com/gravatar/4d4f9562b20ad0ceaa05a4553cccf107?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/861254", 
      "title": "Why AlpineLinux", 
      "id": "https://www.v2ex.com/t/861254", 
      "date_published": "2022-06-21T20:45:10+00:00", 
      "content_html": "<p>\u963f\u91cc\u4e91\u3001\u817e\u8baf\u4e91\u3001\u7269\u7406\u670d\u52a1\u5668\u3001\u865a\u62df\u673a\u3001\u5bb9\u5668\u90fd\u662f\u7528\u7684 alpinelinux</p>\n<ol>\n<li>\u73af\u5883\u90fd\u4e00\u6837\uff0c\u4f7f\u7528\u5404\u65b9\u9762\u719f\u6089\uff0c\u719f\u7ec3</li>\n<li>\u5c0f /\u5feb - \u963f\u91cc\u4e91 ECS \u53ea\u9700\u8981\u4e0a\u4f20\u4e00\u4e2a \u51e0\u5341 MB \u7684\u955c\u50cf\u5373\u53ef\uff0c\u4ece 0 \u5b89\u88c5\u53ea\u9700\u8981 3 \u5206\u949f</li>\n<li>\u7b80\u5355 - \u53ef\u4ee5\u7531\u5185\u800c\u5916\u7684\u4e86\u89e3\u6240\u6709 alpine \u7ec6\u8282\uff0c\u5bf9\u4e8e debian \u548c centos \u6211\u90fd\u505a\u4e0d\u5230\uff0c\u56e0\u4e3a\u592a\u590d\u6742</li>\n<li>\u8ddf\u4e0a\u65f6\u4ee3 - \u5185\u6838 \u4e00\u822c\u662f\u6700\u8fd1\u7684 lts \uff0c\u80fd\u5feb\u901f\u5229\u7528\u4e0a\u65b0\u7684\u5185\u6838\u7279\u6027\uff0c\u6bd4\u5982\u73b0\u5728 linux \u5185\u6838\u652f\u6301 io_uring, ntfs</li>\n<li>\u5feb\u901f\u66f4\u65b0 - \u5b89\u5168\u95ee\u9898\u54cd\u5e94\u975e\u5e38\u5feb - \u56e0\u4e3a\u4f7f\u7528\u9762\u975e\u5e38\u5e7f</li>\n</ol>\n<p>\u5f3a\u70c8\u63a8\u8350</p>\n<p><strong>\u4e0d\u9002\u7528\u573a\u666f</strong></p>\n<ol>\n<li>\u673a\u5668\u5b66\u4e60 - ubuntu \u662f\u6700\u597d\u7684 - \u6700\u65b0 Linux \u5f00\u59cb\u8981\u96c6\u6210 Navdia \u9a71\u52a8\uff0c\u60c5\u51b5\u4f1a\u6709\u6240\u597d\u8f6c</li>\n<li>\u5546\u52a1\u7528\u684c\u9762\u7cfb\u7edf - \u9ed8\u8ba4 xface - <em>\u751f\u6001</em> \u548c\u4f53\u9a8c\u6ca1\u6709 ubuntu \u597d</li>\n<li>\u5b9a\u5236\u5316\u5d4c\u5165\u5f0f\u8bbe\u5907 - alpine \u652f\u6301\u7684 arch \u8fdc\u6ca1\u6709 debian \u7684\u591a\uff0c\u5982\u679c arch \u652f\u6301\u53ef\u4ee5\u8003\u8651 alpine</li>\n</ol>\n<p>\u6b64\u5916\uff0calpinelinux \u7279\u522b\u9002\u7528\u4e8e\u5b9a\u5236\u5316 os \uff0c\u6bd4\u5982 k3sos \u8fd9\u79cd\u9884\u88c5\u597d\u7684 os \u3002</p>\n"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/aaatches", 
        "name": "aaatches", 
        "avatar": "https://cdn.v2ex.com/avatar/a02f/18d6/444287_large.png?m=1773714563"
      }, 
      "url": "https://www.v2ex.com/t/727767", 
      "title": "\u5728 iOS \u4e0a\u5b89\u88c5\u4e86 iSH\uff0c\u5927\u5bb6\u6709\u4ec0\u4e48\u63a8\u8350\u7684\u73a9\u6cd5\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/727767", 
      "date_published": "2020-11-21T02:29:07+00:00", 
      "content_html": ""
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/wenerme", 
        "name": "wenerme", 
        "avatar": "https://cdn.v2ex.com/gravatar/4d4f9562b20ad0ceaa05a4553cccf107?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/677864", 
      "date_modified": "2020-11-30T20:23:54+00:00", 
      "content_html": "<p>\u53d1\u5e03\u5185\u5bb9 <a href=\"https://alpinelinux.org/posts/Alpine-3.12.0-released.html\" rel=\"nofollow\">https://alpinelinux.org/posts/Alpine-3.12.0-released.html</a> \u4e3b\u8981\u53d8\u5316</p>\n<ul>\n<li>Linux 5.4.43 - LTS \u7248\u672c - 3.11 \u76f8\u540c</li>\n<li>Qemu 5 - Qemu 4 \u548c Qemu 5 \u53d8\u5316\u86ee\u5927\u7684\uff0c\u66f4\u597d\u7528\u4e86</li>\n<li>\u65b0\u589e mips64 \u67b6\u6784</li>\n</ul>\n<p>AlpineLinux \u5c0f\u5de7\u7075\u6d3b\uff0c\u975e\u5e38\u503c\u5f97\u4e00\u8bd5\uff0cDocker \u865a\u62df\u673a \u7269\u7406\u4e3b\u673a \u6811\u8393\u6d3e \u90fd\u597d\u7528\u3002\u4e3a\u4ec0\u4e48\u9009\u62e9 Alpine \u4e5f\u53ef\u4ee5\u53c2\u89c1 <a href=\"https://github.com/wenerme/wener/blob/master/tricks/ops/os/alpine/alpine-intro.md\" rel=\"nofollow\">https://github.com/wenerme/wener/blob/master/tricks/ops/os/alpine/alpine-intro.md</a></p>\n<p>\u4f7f\u7528\u8fc7\u7a0b\u9047\u5230\u4efb\u4f55\u95ee\u9898\u90fd\u53ef\u4ee5\u89e3\u7b54\u3002\u540c\u65f6\u4e5f\u5728\u7ef4\u62a4\u4e00\u4e9b\u5305\uff0c\u53d1\u5e03\u91cc wener \u662f\u6211\u3002</p>\n", 
      "date_published": "2020-06-02T07:03:15+00:00", 
      "title": "AlpineLinux 3.12 \u53d1\u5e03", 
      "id": "https://www.v2ex.com/t/677864"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/nutting", 
        "name": "nutting", 
        "avatar": "https://cdn.v2ex.com/avatar/6b8a/1cb4/180793_large.png?m=1711002917"
      }, 
      "url": "https://www.v2ex.com/t/673940", 
      "date_modified": "2020-11-30T20:23:14+00:00", 
      "content_html": "\u636e\u8bf4 alpine Linux \u7684 libc \u4e0d\u6807\u51c6\uff1f\u90a3\u6211 docker \u88c5\u597d\u4e86\uff0c\u4e0a\u9762\u62c9\u4e0b\u6765\u7684\u955c\u50cf\u548c alpine Linux \u8fd8\u6709\u5173\u7cfb\u5417\uff0c\u8fd9\u79cd\u7ec4\u5408\u6709\u5565\u4e0d\u7a33\u5b9a\u7684\u5417", 
      "date_published": "2020-05-21T03:43:47+00:00", 
      "title": "alpine Linux \u8dd1 docker\uff1f", 
      "id": "https://www.v2ex.com/t/673940"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/xiaoz", 
        "name": "xiaoz", 
        "avatar": "https://cdn.v2ex.com/avatar/5f76/7779/76329_large.png?m=1711676102"
      }, 
      "url": "https://www.v2ex.com/t/667733", 
      "date_modified": "2020-11-30T20:24:34+00:00", 
      "content_html": "<p>Docker \u5bb9\u5668\u4e2d\u57fa\u4e8e Alpine Linux \u955c\u50cf\uff0c\u4f7f\u7528 kill \u547d\u4ee4\u4e0d\u8d77\u4f5c\u7528\u5417\uff1f\u6bd4\u5982<code>kill -9 pid</code>\uff0ckill \u4e5f\u6ca1\u62a5\u9519\uff0c\u4f46\u662f kill \u540e\u8be5\u8fdb\u7a0b\u4f9d\u7136\u5b58\u5728\uff0c\u6709\u5927\u4f6c\u9047\u5230\u8fc7\u5417\uff1f</p>\n", 
      "date_published": "2020-04-30T12:19:44+00:00", 
      "title": "Docker \u5bb9\u5668\u4e2d\u57fa\u4e8e Alpine Linux \u955c\u50cf\uff0c kill \u547d\u4ee4\u4e0d\u8d77\u4f5c\u7528\uff1f", 
      "id": "https://www.v2ex.com/t/667733"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/ps1aniuge", 
        "name": "ps1aniuge", 
        "avatar": "https://cdn.v2ex.com/gravatar/303b7d8de36ac5f4a282399ec24adeb0?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/663986", 
      "date_modified": "2020-11-30T20:24:19+00:00", 
      "content_html": "\u76ee\u7684\uff1a\u4e0d\u7528 networking \u7ba1\u7406\u7f51\u5361\uff0c\u800c\u7528 networkmanager \u7ba1\u7406\u7f51\u5361<br />linux\uff1aalpine 3.11<br /><br />\u6e90\uff1a<br />cat /etc/apk/repositories<br /><a target=\"_blank\" href=\"https://mirrors.huaweicloud.com/alpine/edge/main/\" rel=\"nofollow noopener\">https://mirrors.huaweicloud.com/alpine/edge/main/</a><br /><a target=\"_blank\" href=\"https://mirrors.huaweicloud.com/alpine/edge/community/\" rel=\"nofollow noopener\">https://mirrors.huaweicloud.com/alpine/edge/community/</a><br /><a target=\"_blank\" href=\"https://mirrors.nju.edu.cn/alpine/edge/main/\" rel=\"nofollow noopener\">https://mirrors.nju.edu.cn/alpine/edge/main/</a><br /><a target=\"_blank\" href=\"https://mirrors.nju.edu.cn/alpine/edge/community/\" rel=\"nofollow noopener\">https://mirrors.nju.edu.cn/alpine/edge/community/</a><br /><br />\u547d\u4ee4\uff1a<br />apk update<br />/bin/mv '/etc/network/interfaces' '/opt'<br />apk add networkmanager ifupdown<br />addgroup root plugdev<br />#rc-update add wpa_supplicant default<br /><br />rc-update add networkmanager boot<br />rc-update del networking boot<br />rc-service networking stop #\u8fd9\u6761\u547d\u4ee4\u4e4b\u540e\uff0c\u5219\u7f51\u65ad\u4e86\uff0c\u4e0d\u80fd\u4ece\u7ec8\u7aef\u7ba1\u7406\u4e86\uff0c\u4f46\u53ef\u4ee5\u5728 linux \u672c\u673a\u7ba1\u7406\u3002<br />rc-service networkmanager start<br /><br />cat /etc/NetworkManager/NetworkManager.conf <br />[main]<br />dhcp=dhcpcd<br /><br /><br />-------\u6545\u969c\u73b0\u8c61\uff1a-----------------<br />nmcli d<br />DEVICE  TYPE      STATE      CONNECTION <br />eth0    ethernet  unmanaged  --         <br />lo      loopback  unmanaged  --       <br /><br /><br />nmcli connection add type ethernet con-name lan1 ifname eth0 ip4 $ip gw4 $gw <br />#\u6b63\u5e38<br /><br /><br />nmcli device conn eth0<br />#\u8fd4\u56de\uff1a<br />Error: Failed to add/activate new connection: Connection 'eth0' is not available on device eth0 because device is strictly unmanaged<br /><br /><br />nmcli connection up lan1 <br />#\u8fd4\u56de<br />Error: Connection activation failed: No suitable device found for this connection (device lo not available because device is strictly unmanaged).", 
      "date_published": "2020-04-19T07:28:21+00:00", 
      "title": "\u6709\u725b\u4eba\u4e48\uff1f alpine \u6539\u7528 networkmanager \u95ee\u9898\u3002", 
      "id": "https://www.v2ex.com/t/663986"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/esolve", 
        "name": "esolve", 
        "avatar": "https://cdn.v2ex.com/gravatar/c58da970d8e4411b9924f2141c66c19a?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/662562", 
      "date_modified": "2020-11-30T20:24:06+00:00", 
      "content_html": "<p>\u8b6c\u5982\u8981\u9488\u5bf9\u6d77\u5916\u7528\u6237\n\u6709\u4e0d\u540c\u7684\u8bed\u8a00\u548c\u65f6\u533a\ndocker \u7684 alpine \u4e0d\u652f\u6301 i18n\uff0c\u5bf9 java \u540e\u7aef\u5f00\u53d1\u6709\u5565\u5f71\u54cd\u5417\uff1f</p>\n", 
      "date_published": "2020-04-15T03:07:54+00:00", 
      "title": "docker \u7684 alpine \u4e0d\u652f\u6301 i18n\uff0c\u5bf9 Java \u540e\u7aef\u5f00\u53d1\u6709\u5565\u5f71\u54cd\u5417\uff1f", 
      "id": "https://www.v2ex.com/t/662562"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/alpinefly", 
        "name": "alpinefly", 
        "avatar": "https://cdn.v2ex.com/avatar/5ff1/0e79/90442_large.png?m=1485408525"
      }, 
      "url": "https://www.v2ex.com/t/626218", 
      "date_modified": "2020-11-30T20:23:51+00:00", 
      "content_html": "\u521d\u5b66 alpine\uff0c\u611f\u89c9\u5f88\u6709\u6548\u7387\u3002\u60f3\u5b89\u88c5 caddy\uff0c\u4f46\u662f apk \u6a21\u5f0f\u5b89\u88c5\u7684 caddy \u7f3a\u5c11\u63d2\u4ef6\uff0c\u6240\u6709\u4f7f\u7528 curl \u65b9\u5f0f\u5b89\u88c5\uff0c\u4f46\u662f\u600e\u4e48\u542f\u52a8 caddy \u548c\u6dfb\u52a0\u5230\u81ea\u542f\u52a8\u5c31\u4e0d\u4f1a\u5566\uff0c\u8bf7\u6559\u5927\u725b\u5982\u4f55\u5b9e\u73b0\uff0c\u8c22\u8c22\uff01", 
      "date_published": "2019-12-05T07:08:39+00:00", 
      "title": "\u8bf7\u6559 alpine \u5927\u725b\u5982\u4f55\u5728 alpine \u4f7f\u7528 curl \u5b89\u88c5 caddy\uff0c\u5e76\u6dfb\u52a0\u670d\u52a1\u5230\u81ea\u542f\u52a8", 
      "id": "https://www.v2ex.com/t/626218"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/HarveyLiu", 
        "name": "HarveyLiu", 
        "avatar": "https://cdn.v2ex.com/avatar/bf4d/c2bc/373294_large.png?m=1545893269"
      }, 
      "url": "https://www.v2ex.com/t/563641", 
      "date_modified": "2020-11-30T20:24:16+00:00", 
      "content_html": "<p>apk \u91cc\u6ca1\u6709\u5b89\u88c5\u5305\uff0c\u4e0d\u77e5\u9053\u5982\u4f55\u5b89\u88c5\uff0c\u4e5f\u627e\u4e0d\u5230\u76f8\u5173\u8d44\u6599\uff0c\u4f46\u662f\u8bb0\u5f97\u4ee5\u524d 91 \u91cc\u6709\u4eba\u7528\u8fd9\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u505a\u8fc7\u4e00\u4e2a UML \u5305\uff0c\u91cc\u9762\u662f\u542b\u6709 BBR \u7684\uff0c\u96be\u9053\u662f\u81ea\u5b9a\u4e49\u7f16\u8bd1\u7684\uff1f</p>\n", 
      "date_published": "2019-05-13T06:40:21+00:00", 
      "title": "Alpine Linux \u5982\u4f55\u5b89\u88c5 Google TCP-BRR \u52a0\u901f\uff1f", 
      "id": "https://www.v2ex.com/t/563641"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/anzu", 
        "name": "anzu", 
        "avatar": "https://cdn.v2ex.com/avatar/2cb5/18bf/377048_large.png?m=1738978440"
      }, 
      "url": "https://www.v2ex.com/t/532562", 
      "date_modified": "2020-11-30T20:23:58+00:00", 
      "content_html": "<pre><code>\u25b6 docker images\nREPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE\nyobasystems/alpine-mariadb   latest              f8804eea22fd        5 days ago          154MB\nmariadb                      latest              901583bfdf5a        9 days ago          367MB\n</code></pre>\n<p>mariadb \u5b98\u65b9\u7528\u7684\u662f ubuntu\uff0c\u5dee\u4e0d\u591a\u76f8\u5dee 150M \u4e86\u3002</p>\n", 
      "date_published": "2019-02-01T16:55:38+00:00", 
      "title": "\u65e2\u7136 alpine \u4f53\u79ef\u8fd9\u4e48\u5c0f\uff0c\u4e3a\u4ec0\u4e48\u5176\u5b83\u8f6f\u4ef6\u5b98\u65b9\u955c\u50cf\u4e0d\u628a\u5b83\u4f5c\u4e3a\u57fa\u7840\u955c\u50cf\uff1f", 
      "id": "https://www.v2ex.com/t/532562"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/fourstring", 
        "name": "fourstring", 
        "avatar": "https://cdn.v2ex.com/gravatar/cf0dacfd490bfdb618bcc5df94465d68?s=73&d=retro"
      }, 
      "url": "https://www.v2ex.com/t/515707", 
      "date_modified": "2020-11-30T20:24:12+00:00", 
      "content_html": "<p>Dockerfile \u5982\u4e0b\uff1a</p>\n<pre><code>FROM ubuntu:latest AS build\nLABEL author=\"fourstring\"\n\nARG NGINX_VER=1.15.7\nARG NGINX_URL=http://nginx.org/download/nginx-${NGINX_VER}.tar.gz\nARG OPENSSL_VER=1.1.1a\nARG OPENSSL_URL=https://www.openssl.org/source/openssl-${OPENSSL_VER}.tar.gz\nARG PCRE_VER=8.42\nARG PCRE_URL=https://ftp.pcre.org/pub/pcre/pcre-${PCRE_VER}.tar.gz\nARG ZLIB_VER=1.2.11\nARG ZLIB_URL=https://zlib.net/zlib-${ZLIB_VER}.tar.gz\nARG NGINX_BUILD_PARAS='--prefix=/usr/local/nginx --with-cc-opt=-static --with-ld-opt=-static --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --with-openssl=../openssl-${OPENSSL_VER} --with-pcre=../pcre-${PCRE_VER} --with-pcre-jit --with-zlib=../zlib-${ZLIB_VER}'\nARG APT_PACKAGES='build-essential wget tar upx'\nARG APT_REMOVE_PACKAGES='build-essential upx'\nARG MAX_THREADS=3\n\nRUN groupadd -g 50000 www &amp;&amp; \\\n    useradd -g 50000 -u 50000 -s /sbin/nologin www\n\nRUN apt -y update &amp;&amp; \\\n    apt -y install ${APT_PACKAGES} &amp;&amp; \\\n    cd /usr/local/src &amp;&amp; \\\n    wget ${ZLIB_URL} &amp;&amp; \\\n    wget ${PCRE_URL} &amp;&amp; \\\n    wget ${OPENSSL_URL} &amp;&amp; \\\n    wget ${NGINX_URL} &amp;&amp; \\\n    tar xzf nginx-${NGINX_VER}.tar.gz &amp;&amp; \\\n    tar xzf openssl-${OPENSSL_VER}.tar.gz &amp;&amp; \\\n    tar xzf zlib-${ZLIB_VER}.tar.gz &amp;&amp; \\ \n    tar xzf pcre-${PCRE_VER}.tar.gz &amp;&amp; \\\n    cd nginx-${NGINX_VER} &amp;&amp; \\\n    ./configure ${NGINX_BUILD_PARAS} &amp;&amp; \\\n    make -j${MAX_THREADS} &amp;&amp; \\\n    make install &amp;&amp; \\\n    upx /usr/local/nginx/sbin/nginx &amp;&amp; \\\n    mkdir -p /usr/local/nginx/conf/vhost \n\nFROM alpine\n\nRUN adduser -g 50000 -u 50000 -s /sbin/nologin -D -H www \n\nCOPY --from=build --chown=www:www /usr/local/nginx /usr/local/nginx\nCOPY nginx.conf /usr/local/nginx/conf\nCOPY xxx.conf /usr/local/nginx/conf/vhost\n\nEXPOSE 80\nEXPOSE 443\nUSER www\nCMD [ \"/usr/local/nginx/sbin/nginx\",\"-g\",\"daemon off;\" ]\n</code></pre>\n<p>\u73b0\u5728\u9047\u5230\u4e86\u4e00\u4e9b\u8be1\u5f02\u7684\u7528\u6237\u95ee\u9898\u3002</p>\n<ol>\n<li>\u5982\u679c\u6211\u4e0d\u4f7f\u7528\u6700\u540e\u7684<code>USER www</code>\u6307\u4ee4\uff0c\u90a3\u4e48\u4f1a\u62a5\u9519<code>getpwnam(\"www\") (No such file or directory)</code>\uff0c\u7531\u4e8e\u4e00\u822c\u4f7f\u7528\u4e0d\u5b58\u5728\u7684\u7528\u6237\u8fd0\u884c nginx \u7684\u62a5\u9519\u5e76\u4e0d\u4f1a\u51fa\u73b0<code>(No such file or directory)</code>\uff0c\u6211\u7528 Google \u641c\u7d22\u540e\u627e\u5230\u4e00\u4e2a\u89e3\u91ca\u8bf4\u5f53\u4f7f\u7528\u6307\u5b9a\u7684\u7528\u6237\u4ee5\u5916\u7684\u7528\u6237\u8fd0\u884c nginx \u5c31\u4f1a\u51fa\u73b0\u8fd9\u4e2a\u9519\u8bef\uff0c\u52a0<code>USER www</code>\u6307\u4ee4\u540e\u8fd9\u4e2a\u62a5\u9519\u786e\u5b9e\u4e5f\u6d88\u5931\u4e86</li>\n<li>\u4f46\u662f\u7531\u4e8e\u4f7f\u7528\u4f4e\u6743\u9650\u8fd0\u884c\uff0cnginx \u65e0\u6cd5\u4f7f\u7528 80 \u548c 443 \u7aef\u53e3</li>\n<li>1.\u91cc\u9762\u63d0\u5230\u7684\u90a3\u4e2a\u89e3\u91ca\u6211\u4e5f\u8868\u793a\u5b58\u7591\uff0c\u56e0\u4e3a\u4e00\u822c\u60c5\u51b5\u4e0b nginx \u4e3b\u8fdb\u7a0b\u9700\u8981\u4ee5\u9ad8\u6743\u9650\u5f00\u542f\uff0c\u5e76\u4e0d\u4f1a\u62a5\u8fd9\u6837\u7684\u9519\u8bef</li>\n</ol>\n<p>\u90a3\u4e48\u8bf7\u95ee\u6211\u5e94\u8be5\u5982\u4f55\u5904\u7406\u8fd9\u4e2a\u7528\u6237\u95ee\u9898\uff1f\u8fd8\u662f\u6211\u5bf9 Linux \u6216\u8005 nginx \u7528\u6237\u673a\u5236\u7684\u7406\u89e3\u6709\u95ee\u9898\u5462\uff1f\u8c22\u8c22</p>\n", 
      "date_published": "2018-12-08T12:06:54+00:00", 
      "title": "\u5728\u7528 alpine \u6784\u5efa\u4e00\u4e2a\u8fd0\u884c\u9759\u6001\u7f16\u8bd1\u7684 nginx \u7684 docker \u955c\u50cf\u65f6\u9047\u5230\u7684\u7528\u6237\u95ee\u9898", 
      "id": "https://www.v2ex.com/t/515707"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/iCodex", 
        "name": "iCodex", 
        "avatar": "https://cdn.v2ex.com/avatar/2ff0/53bc/22128_large.png?m=1378618212"
      }, 
      "url": "https://www.v2ex.com/t/365053", 
      "date_modified": "2020-11-30T20:24:02+00:00", 
      "content_html": "\u4e3b\u8981\u662f\u6211\u6700\u8fd1\u5728\u6dd8\u5b9d\u4e0a\u6dd8\u4e86\u4e00\u4e2a\u4e0a\u4e16\u7eaa\u7684\u7535\u8111\uff0c\u5b89\u88c5\u73b0\u5728\u6d41\u884c\u7684\u53d1\u884c\u7248\uff0c\u542f\u52a8\u540e\u76f4\u63a5\u5c31\u762b\u4e86\r<br />\u540e\u6765\u7ecf v \u53cb\u63a8\u8350\uff0c\u8bd5\u7528\u4e86 alpine linux\uff0c\u7ed3\u679c\u8fd9\u51e0\u4e2a\u793c\u62dc\u7528\u4e0b\u6765\uff0c\u5b83\u7684\u7a33\u5b9a\u6027\u8d85\u4e4e\u60f3\u8c61\u554a\u3002", 
      "date_published": "2017-05-31T15:08:09+00:00", 
      "title": "\u5c0f\u578b\u7cfb\u7edf\uff0c\u7528 alpine Linux \u771f\u771f\u662f\u6781\u597d\u7684\u3002", 
      "id": "https://www.v2ex.com/t/365053"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/phithon", 
        "name": "phithon", 
        "avatar": "https://cdn.v2ex.com/avatar/2bc0/b213/47978_large.png?m=1775936933"
      }, 
      "url": "https://www.v2ex.com/t/280163", 
      "date_modified": "2020-11-30T20:24:23+00:00", 
      "content_html": "<p>\u5206\u4eab\u4e24\u4efd\u81ea\u5df1\u535a\u5ba2\u5728\u7528 Dockerfile \u3002</p>\n<p>\u4e00\u4efd alpine-php5-fpm \uff0c\u4e00\u4efd alpine-php7-fpm \uff0c\u76f4\u63a5 build \u4e86\u5c31\u80fd\u7528\uff1a</p>\n<p><a href=\"https://gist.github.com/phith0n/373cc078a8b25a20432408d5d7556770\" rel=\"nofollow\">https://gist.github.com/phith0n/373cc078a8b25a20432408d5d7556770</a></p>\n<p>php5 \u7248\u672c: 5.6.21<br>\nphp7 \u7248\u672c: 7.0.6</p>\n<p>\u6ca1\u6709\u5b89\u88c5 mysql \u6269\u5c55\uff0c\u53ea\u5b89\u88c5\u4e86 mysqli \u548c pdo_mysql \u3002\u5176\u4ed6\u5e38\u7528\u6269\u5c55\u90fd\u5b89\u88c5\u4e86\uff0c\u5e76\u5b89\u88c5\u4e86 composer \u3002</p>\n<p>\u6bcf\u4e2a\u955c\u50cf\u4ec5\u5360 70M \u5de6\u53f3\uff0c\u8f7b\u91cf\u7ea7\uff0c\u6700\u8fd1\u7231\u4e0a alpine-linux \u4e86\uff0c\u5bf9\u4e8e\u81ea\u5df1 15G \u5c0f\u786c\u76d8 VPS \u6765\u8bf4\u7b80\u76f4\u662f\u6551\u661f~</p>\n", 
      "date_published": "2016-05-20T15:56:15+00:00", 
      "title": "\u5206\u4eab\u4e24\u4efd\u81ea\u5df1\u7528\u7684 alpine-php-fpm \u7684 Dockerfile", 
      "id": "https://www.v2ex.com/t/280163"
    }, 
    {
      "author": {
        "url": "https://www.v2ex.com/member/GNiux", 
        "name": "GNiux", 
        "avatar": "https://cdn.v2ex.com/avatar/cd4b/50ab/141071_large.png?m=1451559467"
      }, 
      "url": "https://www.v2ex.com/t/252437", 
      "date_modified": "2020-11-30T20:24:31+00:00", 
      "content_html": "\u57fa\u4e8e openRC, busybox, musl-libc \u7684\u3002", 
      "date_published": "2016-01-21T09:49:35+00:00", 
      "title": "Alpine Linux \u5927\u6cd5\u597d\uff01\u8fd9\u4e2a\u6ca1\u6709 GNU, Systemd \u548c\u5176\u4ed6\u83ab\u540d\u7684\u7cfb\u7edf\uff0c\u8fd9\u4e2a\u7b80\u6d01\u3001\u57fa\u4e8e\u811a\u672c\u7684\u7cfb\u7edf\uff0c\u5728\u6211\u6298\u817e Linux \u4e00\u5e74\u65f6\uff0c\u8ba9\u6211\u771f\u6b63\u4f53\u9a8c\u5230 Unix \u7cfb\u7edf\u7684\u7cbe\u795e\u548c\u539f\u7406\u3002", 
      "id": "https://www.v2ex.com/t/252437"
    }
  ]
}