HowToCook icon indicating copy to clipboard operation
HowToCook copied to clipboard

Add support for arm

Open Austin-152 opened this issue 7 months ago • 3 comments

注意

Pull Request 提交后,预计 1 分钟内将会得到自动化格式检查的结果。只有通过自动化检查的 Pull Request 才会被人工审核。

  • [x] 请确保此 Pull Request 能够通过自动化代码检查。

签署

必须签署下面的对话框才能开始审核。

HowToCook 仓库采用了 The Unlicense 协议

菜谱在签入前,必须确保其可以直接声明进入 "公共领域"(public domain)。这意味着一旦合并后,任何人都可以自由复制,修改,发布,使用,编译,出售或以菜谱的形式或菜的形式分发,无论是出于商业目的还是非商目的,以及任何手段。

  • [x] 我确保了我的内容不涉及版权内容,并且授权它 The Unlicense 协议。

Austin-152 avatar May 15 '25 10:05 Austin-152

这个肯定会炸。因为我上游用的 static image 只有 amd64 的。我的基建还没建好。这项工作正在进行中了。稍等几天

Anduin2017 avatar May 15 '25 10:05 Anduin2017

参考: https://github.com/Anduin2017/HowToCook/blob/master/Dockerfile#L21

Anduin2017 avatar May 15 '25 10:05 Anduin2017

我在m3max的macos上测试过目前没有发现兼容性问题

static image 只有 amd64 的

本项目似乎对性能不是很敏感?这种情况下QEMU带来的损耗不会太高

着附log供参考

=> [internal] load build definition from Dockerfile                                           0.0s  => => transferring dockerfile: 710B                                                           0.0s  => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 3)                 0.0s  => WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 12)                0.0s  => [linux/amd64 internal] load metadata for docker.io/aiursoft/static:latest                  3.0s  => [linux/arm64 internal] load metadata for docker.io/library/node:22-alpine                  3.3s  => [linux/arm64 internal] load metadata for docker.io/library/python:3.11                     3.3s  => [linux/amd64 internal] load metadata for docker.io/library/node:22-alpine                  3.3s  => [linux/amd64 internal] load metadata for docker.io/library/python:3.11                     3.3s  => [linux/arm64 internal] load metadata for docker.io/aiursoft/static:latest                  3.0s  => [auth] library/python:pull token for registry-1.docker.io                                  0.0s
 => [auth] library/node:pull token for registry-1.docker.io                                    0.0s
 => [auth] aiursoft/static:pull token for registry-1.docker.io                                 0.0s
 => [internal] load .dockerignore                                                              0.0s
 => => transferring context: 2B                                                                0.0s
 => [linux/amd64 lint-env 1/6] FROM docker.io/library/node:22-alpine@sha256:ad1aedbcc1b057507  4.3s
 => => resolve docker.io/library/node:22-alpine@sha256:ad1aedbcc1b0575074a91ac146d6956476c1f9  0.0s
 => => sha256:4509b69886a5dd7b78ca9e459c2cbf79ba1f52d0ff9359cdd1266e9e0d682819 446B / 446B     0.2s
 => => sha256:0c2b42acd2772015839375ac98c4c97e066b10209bc85ae4e33d30d8017bc69 1.26MB / 1.26MB  0.3s
 => => sha256:63786652eaffa4f7d8eb95ba744d4c4cba7ae70a02f3777309a7a371f416a 50.42MB / 50.42MB  2.9s
 => => extracting sha256:63786652eaffa4f7d8eb95ba744d4c4cba7ae70a02f3777309a7a371f416a448      0.7s
 => => extracting sha256:0c2b42acd2772015839375ac98c4c97e066b10209bc85ae4e33d30d8017bc694      0.0s
 => => extracting sha256:4509b69886a5dd7b78ca9e459c2cbf79ba1f52d0ff9359cdd1266e9e0d682819      0.0s
 => [linux/arm64 stage-2 1/2] FROM docker.io/aiursoft/static:latest@sha256:bf09788e01309dfa9  47.3s
 => => resolve docker.io/aiursoft/static:latest@sha256:bf09788e01309dfa992d74152240877f6c6704  0.0s
 => => sha256:d8fb4825853cdb7b3bdc7a6ffd8d91dc5eb325fac8d851cd45a92c0928efdbae 179B / 179B     0.9s
 => => sha256:faba959d864d6a07435b96bb7158508be789a0f6caa0024bbaf5761df2c80b6a 94B / 94B       0.5s
 => => sha256:25fbfbf72a28c84011bf0262814eefbd71f5adcb83c28a793ebc694b571 772.88kB / 772.88kB  1.7s
 => => sha256:79986b67de441e753d2325da903e3c99a02e42f879edcafd87a2b3006a300619 93B / 93B       0.6s
 => => sha256:0cf267162caa61352fd890d5803334ba13b7a4bdcba5f3427d4f853e9f 183.73MB / 183.73MB  13.6s
 => => sha256:0cf41fd94f42b673f8ee1ec7946a05571bf0bf668fcc74161120c75788ea184e 173B / 173B     0.9s
 => => sha256:addaac47f0e7f81048673f4b6cca660b61fa0cc4c814738d6198ca4f9abc 92.89MB / 92.89MB  12.3s
 => => sha256:93243487a3a0b2c9d2e37169af43e139287c24650f24ef6e0b1674a0473d6178 181B / 181B     1.0s
 => => sha256:d164380718aa37a90fc4ebebd8d19270723ee98b0c3e58bb0b6343b008cf48ca 251B / 251B     1.0s
 => => sha256:31734b193a814b7d6f96f0d11a89c942ca61ac79d819105323c548bf31f98 30.60MB / 30.60MB  5.7s
 => => extracting sha256:31734b193a814b7d6f96f0d11a89c942ca61ac79d819105323c548bf31f98613      0.5s
 => => extracting sha256:d164380718aa37a90fc4ebebd8d19270723ee98b0c3e58bb0b6343b008cf48ca      0.0s
 => => extracting sha256:93243487a3a0b2c9d2e37169af43e139287c24650f24ef6e0b1674a0473d6178      0.0s
 => => extracting sha256:addaac47f0e7f81048673f4b6cca660b61fa0cc4c814738d6198ca4f9abc4e01      1.2s
 => => extracting sha256:0cf267162caa61352fd890d5803334ba13b7a4bdcba5f3427d4f853e9f0b46dc      2.3s
 => => extracting sha256:0cf41fd94f42b673f8ee1ec7946a05571bf0bf668fcc74161120c75788ea184e      0.0s
 => => extracting sha256:79986b67de441e753d2325da903e3c99a02e42f879edcafd87a2b3006a300619      0.0s
 => => extracting sha256:25fbfbf72a28c84011bf0262814eefbd71f5adcb83c28a793ebc694b571a5e4e      0.0s
 => => extracting sha256:faba959d864d6a07435b96bb7158508be789a0f6caa0024bbaf5761df2c80b6a      0.0s
 => => extracting sha256:d8fb4825853cdb7b3bdc7a6ffd8d91dc5eb325fac8d851cd45a92c0928efdbae      0.0s
 => [linux/amd64 stage-2 1/2] FROM docker.io/aiursoft/static:latest@sha256:bf09788e01309dfa99  0.0s
 => => resolve docker.io/aiursoft/static:latest@sha256:bf09788e01309dfa992d74152240877f6c6704  0.0s
 => [linux/arm64 lint-env 1/6] FROM docker.io/library/node:22-alpine@sha256:ad1aedbcc1b057507  6.1s
 => => resolve docker.io/library/node:22-alpine@sha256:ad1aedbcc1b0575074a91ac146d6956476c1f9  0.0s
 => => sha256:d5c44db01d7fca144da0217c9f2be5eab823cf09fa8bb74589f4eda6ecd126bd 447B / 447B     0.1s
 => => sha256:43ccaf6cf00b7eb6327971cede62d9f647c4e2b73d6fdc89ab7586ae2b9d5bb 1.26MB / 1.26MB  0.2s
 => => sha256:41e8b256bae57af2dd7059a9488fc7f9deaf8f5667136cdde2ff59bbe5f6e 49.71MB / 49.71MB  4.9s
 => => extracting sha256:41e8b256bae57af2dd7059a9488fc7f9deaf8f5667136cdde2ff59bbe5f6e68a      0.8s
 => => extracting sha256:43ccaf6cf00b7eb6327971cede62d9f647c4e2b73d6fdc89ab7586ae2b9d5bb2      0.0s
 => => extracting sha256:d5c44db01d7fca144da0217c9f2be5eab823cf09fa8bb74589f4eda6ecd126bd      0.0s
 => [internal] load build context                                                              3.1s
 => => transferring context: 677.51MB                                                          3.1s
 => [linux/amd64 python-env 1/6] FROM docker.io/library/python:3.11@sha256:aeb7cf72ae3acee0a  37.3s
 => => resolve docker.io/library/python:3.11@sha256:aeb7cf72ae3acee0a0af0a6e09023201a103d359c  0.0s
 => => sha256:caac1c80fe145409a7eb1b33ff4daaf1125f85db93ae8398b9c53c38999bbd34 250B / 250B     0.2s
 => => sha256:06510fc5efab6a67e0712d305abdf4716cdd4dc1cd5bcd9bee12bbfccc6ae 24.31MB / 24.31MB  5.1s
 => => sha256:d361b266736250a0984dda3e0b31e89e673998bfc022b30936e8edd2755a0df 6.16MB / 6.16MB  0.8s
 => => sha256:c187b51b626e1d60ab369727b81f440adea9d45e97a45e137fc318be0b 211.36MB / 211.36MB  17.3s
 => => sha256:ca513cad200b13ead2c745498459eed58a6db3480e3ba6117f854da09726 64.39MB / 64.39MB  16.6s
 => => sha256:63964a8518f54dc31f8df89d7f06714c7a793aa1aa08a64ae3d7f4f4f30b4 24.01MB / 24.01MB  6.6s
 => => sha256:cf05a52c02353f0b2b6f9be0549ac916c3fb1dc8d4bacd405eac7f28562ec 48.49MB / 48.49MB  7.8s
 => => extracting sha256:cf05a52c02353f0b2b6f9be0549ac916c3fb1dc8d4bacd405eac7f28562ec9f2      1.3s
 => => extracting sha256:63964a8518f54dc31f8df89d7f06714c7a793aa1aa08a64ae3d7f4f4f30b4ac8      0.7s
 => => extracting sha256:ca513cad200b13ead2c745498459eed58a6db3480e3ba6117f854da097262526      0.9s
 => => extracting sha256:c187b51b626e1d60ab369727b81f440adea9d45e97a45e137fc318be0bb7f09f      2.7s
 => => extracting sha256:d361b266736250a0984dda3e0b31e89e673998bfc022b30936e8edd2755a0df4      0.1s
 => => extracting sha256:06510fc5efab6a67e0712d305abdf4716cdd4dc1cd5bcd9bee12bbfccc6ae0e3      0.3s
 => => extracting sha256:caac1c80fe145409a7eb1b33ff4daaf1125f85db93ae8398b9c53c38999bbd34      0.0s
 => [linux/arm64 python-env 1/6] FROM docker.io/library/python:3.11@sha256:aeb7cf72ae3acee0a  30.9s
 => => resolve docker.io/library/python:3.11@sha256:aeb7cf72ae3acee0a0af0a6e09023201a103d359c  0.0s
 => => sha256:1253240e5542933104f34a8d7113e0c850cf87c0120dfdcbb64f81eedd94a56c 250B / 250B     0.3s
 => => sha256:cfaa0467503119e88d8bd3094189420ea94699b9afd288aaec18567821f99 23.70MB / 23.70MB  5.4s
 => => sha256:614057d21032311a013551c00be4f29c9d0a0de592953eccc38426b422dc799 6.24MB / 6.24MB  2.2s
 => => sha256:0d41c7623f41e51939686bf861fe89538ae4dc84481ff4136b55524e77 202.75MB / 202.75MB  25.1s
 => => sha256:48a2a14f59a002f5ef50911a0687d30beadf65bbe35bde8bd3823c3496cb 64.36MB / 64.36MB  13.5s
 => => sha256:84649bff67ea459549b6f371f7045d9968d6ebf370b815c922a625f3ab065 23.54MB / 23.54MB  3.2s
 => => sha256:de07ba6f486e0ce29760ab32d4381edabbc660a04c493e95eb9a8056925d8 48.33MB / 48.33MB  5.5s
 => => extracting sha256:de07ba6f486e0ce29760ab32d4381edabbc660a04c493e95eb9a8056925d8955      0.7s
 => => extracting sha256:84649bff67ea459549b6f371f7045d9968d6ebf370b815c922a625f3ab065724      0.3s
 => => extracting sha256:48a2a14f59a002f5ef50911a0687d30beadf65bbe35bde8bd3823c3496cbd465      0.8s
 => => extracting sha256:0d41c7623f41e51939686bf861fe89538ae4dc84481ff4136b55524e770d2603      2.3s
 => => extracting sha256:614057d21032311a013551c00be4f29c9d0a0de592953eccc38426b422dc7991      0.1s
 => => extracting sha256:cfaa0467503119e88d8bd3094189420ea94699b9afd288aaec18567821f9913a      0.3s
 => => extracting sha256:1253240e5542933104f34a8d7113e0c850cf87c0120dfdcbb64f81eedd94a56c      0.0s
 => [linux/amd64 lint-env 2/6] WORKDIR /app                                                    0.7s
 => [linux/amd64 lint-env 3/6] COPY . .                                                        1.1s
 => [linux/amd64 lint-env 4/6] RUN npm install --loglevel verbose                              6.6s
 => [linux/arm64 lint-env 2/6] WORKDIR /app                                                    0.1s
 => [linux/arm64 lint-env 3/6] COPY . .                                                        0.9s
 => [linux/arm64 lint-env 4/6] RUN npm install --loglevel verbose                              4.6s
 => [linux/arm64 lint-env 5/6] RUN npm run build                                               0.6s
 => [linux/arm64 lint-env 6/6] RUN npm run lint                                                3.6s
 => [linux/amd64 lint-env 5/6] RUN npm run build                                               1.5s
 => [linux/amd64 lint-env 6/6] RUN npm run lint                                               13.1s
 => [linux/arm64 python-env 2/6] WORKDIR /app                                                  0.5s
 => [linux/arm64 python-env 3/6] COPY --from=lint-env /app .                                   1.9s
 => [linux/arm64 python-env 4/6] RUN apt-get update && apt-get install -y weasyprint fonts-n  32.1s
 => [linux/amd64 python-env 2/6] WORKDIR /app                                                  0.8s
 => [linux/amd64 python-env 3/6] COPY --from=lint-env /app .                                   3.4s
 => [linux/amd64 python-env 4/6] RUN apt-get update && apt-get install -y weasyprint fonts-n  54.5s
 => [linux/arm64 python-env 5/6] RUN rm node_modules -rf && pip install -r requirements.txt   94.9s
 => [linux/amd64 python-env 5/6] RUN rm node_modules -rf && pip install -r requirements.txt   17.1s
 => [linux/amd64 python-env 6/6] RUN mkdocs build                                            155.2s
 => [linux/arm64 python-env 6/6] RUN mkdocs build                                             96.8s
 => [linux/arm64 stage-2 2/2] COPY --from=python-env /app/site /data                           0.4s
 => [linux/amd64 stage-2 2/2] COPY --from=python-env /app/site /data                           0.4s
 => exporting to image                                                                         6.0s
 => => exporting layers                                                                        5.2s
 => => exporting manifest sha256:6c56ea82e3f60d8aac5c86f5e7d47e377282e83f1bfd22bbaf2ddc8fe238  0.0s
 => => exporting config sha256:85953bf4955609d69eb51958de84281a60db91f4dde5c573ad366eaccd1f67  0.0s
 => => exporting attestation manifest sha256:30f39f6103cd1a978c59baa8dc12828873de55b728485cad  0.0s
 => => exporting manifest sha256:8214944b9b90b43ba67c45b042fc923b80d060bc3999e74fef95dc70549f  0.0s
 => => exporting config sha256:334b34fe8b391650b5646cd52a70bb06edfd946878c5950e1535f7ae09f34c  0.0s
 => => exporting attestation manifest sha256:49ea5942782f2d61e38ce7b8329c6241ad0d65fc52e1a3d9  0.0s
 => => exporting manifest list sha256:bbab1bd85913ac1c60ffa4dd8f0ef2177f9166e1ab44d872349810c  0.0s
 => => naming to moby-dangling@sha256:bbab1bd85913ac1c60ffa4dd8f0ef2177f9166e1ab44d872349810c  0.0s
 => => unpacking to moby-dangling@sha256:bbab1bd85913ac1c60ffa4dd8f0ef2177f9166e1ab44d8723498  0.7s

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/k79ymsg303fi41c6ttl3zrk5i

 2 warnings found (use docker --debug to expand):
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 3)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 12)
 ~/tmp/HowToCook/ [master*] docker images
REPOSITORY          TAG       IMAGE ID       CREATED          SIZE
<none>              <none>    bbab1bd85913   47 seconds ago   2.12GB
 ~/tmp/HowToCook/ [master*] docker images
 ~/tmp/HowToCook/ [master*]
 ~/tmp/HowToCook/ [master*]
 ~/tmp/HowToCook/ [master*] docker run -p5001:5000 bbab1bd85913
22:51:989 warn: Microsoft.AspNetCore.Server.Kestrel[0] Overriding address(es) 'http://*:5000'. Binding to endpoints defined via IConfiguration and/or UseKestrel() instead.
22:52:028 info: Microsoft.Hosting.Lifetime[14] Now listening on: http://[::]:5000
22:52:031 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down.
22:52:031 info: Microsoft.Hosting.Lifetime[0] Hosting environment: Production
22:52:031 info: Microsoft.Hosting.Lifetime[0] Content root path: /data

23:15:908 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/ - - -
23:15:960 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/index.html'. Physical path: '/data/index.html'
23:15:974 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/stylesheets/palette.06af60db.min.css - - -
23:15:984 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/stylesheets/palette.06af60db.min.css'. Physical path: '/data/assets/stylesheets/palette.06af60db.min.css'
23:15:984 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/index.html - 200 142057 text/html 61.2203ms
23:15:985 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/stylesheets/palette.06af60db.min.css - 200 12522 text/css 10.5168ms
23:15:987 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/stylesheets/main.342714a4.min.css - - -
23:15:989 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/stylesheets/main.342714a4.min.css'. Physical path: '/data/assets/stylesheets/main.342714a4.min.css'
23:15:989 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/stylesheets/main.342714a4.min.css - 200 131847 text/css 2.2675ms
23:16:119 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/javascripts/bundle.13a4f30d.min.js - - -
23:16:120 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/javascripts/bundle.13a4f30d.min.js'. Physical path: '/data/assets/javascripts/bundle.13a4f30d.min.js'
23:16:121 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/javascripts/bundle.13a4f30d.min.js - 200 107918 text/javascript 1.9026ms
23:16:130 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/javascripts/bundle.13a4f30d.min.js - - -
23:16:132 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/javascripts/bundle.13a4f30d.min.js'. Physical path: '/data/assets/javascripts/bundle.13a4f30d.min.js'
23:16:132 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/javascripts/bundle.13a4f30d.min.js - 200 107918 text/javascript 2.0097ms
23:16:208 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/javascripts/workers/search.d50fe291.min.js - - -
23:16:208 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/sitemap.xml - - -
23:16:210 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/sitemap.xml'. Physical path: '/data/sitemap.xml'
23:16:210 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/sitemap.xml - 200 109 text/xml 1.4066ms
23:16:210 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/javascripts/workers/search.d50fe291.min.js'. Physical path: '/data/assets/javascripts/workers/search.d50fe291.min.js'
23:16:211 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/javascripts/workers/search.d50fe291.min.js - 200 39563 text/javascript 2.1982ms
23:16:220 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/search/search_index.json - - -
23:16:257 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/search/search_index.json'. Physical path: '/data/search/search_index.json'
23:16:258 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/search/search_index.json - 200 1452984 application/json 38.4046ms
23:16:317 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/javascripts/workers/search.d50fe291.min.js - - -
23:16:321 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/javascripts/workers/search.d50fe291.min.js'. Physical path: '/data/assets/javascripts/workers/search.d50fe291.min.js'
23:16:321 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/javascripts/workers/search.d50fe291.min.js - 200 39563 text/javascript 4.3503ms
23:17:441 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/assets/images/favicon.png - - -
23:17:448 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/assets/images/favicon.png'. Physical path: '/data/assets/images/favicon.png'
23:17:451 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/assets/images/favicon.png - 200 1870 image/png 10.0505ms
23:18:737 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/带把肘子/ - - -
23:18:742 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/dishes/meat_dish/带把肘子/index.html'. Physical path: '/data/dishes/meat_dish/带把肘子/index.html'
23:18:743 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/带把肘子/index.html - 200 99210 text/html 5.4299ms
23:21:098 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜/ - - -
23:21:101 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜/index.html'. Physical path: '/data/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜/index.html'
23:21:101 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜/index.html - 200 98610 text/html 3.2802ms
23:21:127 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜成品.jpg - - -
23:21:131 info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Sending file. Request path: '/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜成品.jpg'. Physical path: '/data/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜成品.jpg'
23:21:131 info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://localhost:5001/dishes/meat_dish/豆豉鲮鱼油麦菜/豆豉鲮鱼油麦菜成品.jpg - 200 482681 image/jpeg 4.1386ms
^Cdocker manifest inspect ^C^C
got 3 SIGTERM/SIGINTs, forcefully exiting
 ~/tmp/HowToCook/ [master*]
 ~/tmp/HowToCook/ [master*] docker manifest inspect  bbab1bd85913
errors:
denied: requested access to the resource is denied
unauthorized: authentication required

 ~/tmp/HowToCook/ [master*] docker inspect bbab1bd85913

[
    {
        "Id": "sha256:bbab1bd85913ac1c60ffa4dd8f0ef2177f9166e1ab44d872349810cec9d89746",
        "RepoTags": [],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-05-15T13:21:18.393489835Z",
        "DockerVersion": "27.4.0",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "5000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "ASPNETCORE_ENVIRONMENT=Production",
                "DOTNET_CLI_TELEMETRY_OPTOUT=1",
                "DOTNET_PRINT_TELEMETRY_MESSAGE=false",
                "ASPNETCORE_FORWARDEDHEADERS_ENABLED=true",
                "DOTNET_RUNNING_IN_CONTAINER=true",
                "DOTNET_GENERATE_ASPNET_CERTIFICATE=false",
                "DOTNET_NOLOGO=true",
                "ASPNETCORE_HTTP_PORTS=5000",
                "DOTNET_USE_POLLING_FILE_WA

Austin-152 avatar May 15 '25 13:05 Austin-152