Docker 鏡像的使用

1.鏡像的基本信息

[root@host1 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
ubuntu        latest    802541663949   2 weeks ago   78.1MB
hello-world   latest    1b44b5a3e06a   4 weeks ago   10.1kB

執行?docker images 命令時加上 --no-trunc 選項會顯示完整的鏡像 ID

例如,查看上述 Ubuntu 鏡像的完整信息如下

[root@host1 ~]# docker images ubuntu --no-trunc
REPOSITORY   TAG       IMAGE ID                                                                  CREATED       SIZE
ubuntu       latest    sha256:802541663949fbd5bbd8f35045af10005f51885164e798e2ee8d1dc39ed8888d   2 weeks ago   78.1MB

結果表明該鏡像的完整 ID 如下

 sha256:802541663949fbd5bbd8f35045af10005f51885164e798e2ee8d1dc39ed8888d

執行?docker images 命令時加上 -digests?選項即可獲取鏡像摘要值

[root@host1 ~]# docker images ubuntu --digests
REPOSITORY   TAG       DIGEST                                                                    IMAGE ID       CREATED       SIZE
ubuntu       latest    sha256:9cbed754112939e914291337b5e554b07ad7c392491dba6daf25eef1332a22e8   802541663949   2 weeks ago   78.1MB

2.掌握鏡像的基本操作

????????1.拉取鏡像(例如拉取16.04版本的 Ubuntu)

[root@host1 ~]# docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
58690f9b18fc: Pull complete 
b51569e7c507: Pull complete 
da8ef40b9eca: Pull complete 
fb15d46c38dc: Pull complete 
Digest: sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6
Status: Downloaded newer image for ubuntu:16.04
docker.io/library/ubuntu:16.04

????????2.顯示本地的鏡像列表

[root@host1 ~]# docker images -f "before=ubuntu:18.04"
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       16.04     b6f507652425   4 years ago   135MB

? ? ? ? 3.查看鏡像的詳細信息

[root@host1 ~]# docker inspect --format='{{.Architecture}}' ubuntu
amd64

????????通過 JSON 格式的 RootFS 子節點查看鏡像的根文件系統信息

[root@host1 ~]# docker inspect --format '{{json .RootFS}}' ubuntu
{"Type":"layers","Layers":["sha256:9d592720ced4a7a4ddf16adef8a126e4c8c49f22114de769343320b37674321e"]}

? ? ? ? 4.查看鏡像的歷史信息

[root@host1 ~]# docker history ubuntu:16.04
IMAGE          CREATED       CREATED BY                                       SIZE      COMMENT
b6f507652425   4 years ago   /bin/sh -c #(nop)  CMD ["/bin/bash"]             0B        
<missing>      4 years ago   /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B        
<missing>      4 years ago   /bin/sh -c rm -rf /var/lib/apt/lists/*           0B        
<missing>      4 years ago   /bin/sh -c set -xe   && echo '#!/bin/sh' > /…   745B      
<missing>      4 years ago   /bin/sh -c #(nop) ADD file:11b425d4c08e81a3e…   135MB 

? ? ? ? 5.查找鏡像

[root@host1 ~]# docker search httpd    #學校無法訪問外網,具體信息跳過

? ? ? ? 6.刪除本地鏡像

[root@host1 ~]# docker rmi ubuntu:16.04
Untagged: ubuntu:16.04
Untagged: ubuntu@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6
Deleted: sha256:b6f50765242581c887ff1acc2511fa2d885c52d8fb3ac8c4bba131fd86567f2e
Deleted: sha256:0214f4b057d78b44fd12702828152f67c0ce115f9346acc63acdf997cab7e7c8
Deleted: sha256:1b9d0485372c5562fa614d5b35766f6c442539bcee9825a6e90d1158c3299a61
Deleted: sha256:3c0f34be6eb98057c607b9080237cce0be0b86f52d51ba620dc018a3d421baea
Deleted: sha256:be96a3f634de79f523f07c7e4e0216c28af45eb5776e7a6238a2392f71e01069

3.驗證鏡像的分層結構

? ? ? ? 1.建立項目目錄,存放 Dockerfile 及其相關文件

[root@host1 ~]# mkdir -p ch02/img-layers && cd ch02/img-layers

? ? ? ? 2.在項目目錄中創建 app.py 文件,加入以下內容

[root@host1 img-layers]# vi app.py
[root@host1 img-layers]# cat app.py
#!/user/bin/python
print("Hello, World")

? ? ? ? 3.在項目目錄中創建 Dockerfile,加入以下內容

[root@host1 img-layers]# vi Dockerfile
[root@host1 img-layers]# cat Dockerfile
FROM ubuntu:16.04
COPY ./ /app
RUN apt-get -y update && apt-get install -y python
CMD python /app/app.py

? ? ? ? 4.檢驗

[root@host1 img-layers]# ls
app.py  Dockerfile

? ? ? ? 4.基于 Dockerfile 構建一個鏡像

[root@host1 img-layers]# docker build -t="img-layers-test" .
[+] Building 276.6s (7/7) FINISHED                                                      docker:default=> [internal] load build definition from Dockerfile                                              0.0s=> => transferring dockerfile: 202B                                                              0.0s=> [internal] load metadata for docker.io/library/ubuntu:16.04                                   5.1s=> [internal] load .dockerignore                                                                 0.0s=> => transferring context: 2B                                                                   0.0s=> [internal] load build context                                                                 0.0s=> => transferring context: 338B                                                                 0.0s=> [1/3] FROM docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a41  9.2s=> => resolve docker.io/library/ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a41  0.0s=> => sha256:58690f9b18fca6469a14da4e212c96849469f9b1be6661d2342a4bf01774aa50 46.50MB / 46.50MB  7.9s=> => sha256:b51569e7c50720acf6860327847fe342a1afbe148d24c529fb81df105e3eed01 857B / 857B        2.4s=> => sha256:da8ef40b9ecabc2679fe2419957220c0272a965c5cf7e0269fa1aeeb8c56f2e1 528B / 528B        0.8s=> => sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6 1.42kB / 1.42kB    0.0s=> => sha256:a3785f78ab8547ae2710c89e627783cfa7ee7824d3468cae6835c9f4eae23ff7 1.15kB / 1.15kB    0.0s=> => sha256:b6f50765242581c887ff1acc2511fa2d885c52d8fb3ac8c4bba131fd86567f2e 3.36kB / 3.36kB    0.0s=> => sha256:fb15d46c38dcd1ea0b1990006c3366ecd10c79d374f341687eb2cb23a2c8672e 170B / 170B        2.3s=> => extracting sha256:58690f9b18fca6469a14da4e212c96849469f9b1be6661d2342a4bf01774aa50         1.3s=> => extracting sha256:b51569e7c50720acf6860327847fe342a1afbe148d24c529fb81df105e3eed01         0.0s=> => extracting sha256:da8ef40b9ecabc2679fe2419957220c0272a965c5cf7e0269fa1aeeb8c56f2e1         0.0s=> => extracting sha256:fb15d46c38dcd1ea0b1990006c3366ecd10c79d374f341687eb2cb23a2c8672e         0.0s=> [2/3] COPY ./ /app                                                                            0.1s=> ERROR [3/3] RUN apt-get -y update && apt-get install -y python                              262.1s
------                                                                                                 > [3/3] RUN apt-get -y update && apt-get install -y python:                                           
2.137 Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]                                 
4.892 Get:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [106 kB]                         
6.192 Get:3 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [106 kB]                       
7.172 Get:4 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]                      
14.91 Get:5 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
15.42 Get:6 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
19.29 Get:7 http://security.ubuntu.com/ubuntu xenial-security InRelease [106 kB]
21.08 Get:8 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [1151 kB]
27.02 Get:9 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [15.9 kB]
27.06 Get:10 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [928 kB]
31.02 Get:11 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [8820 B]
36.69 Get:12 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
36.91 Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1608 kB]
38.82 Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [16.4 kB]
38.83 Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [1483 kB]
41.10 Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [25.0 kB]
41.10 Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [11.3 kB]
41.10 Get:18 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [12.9 kB]
41.16 Fetched 17.4 MB in 41s (424 kB/s)
41.16 Reading package lists...
41.64 Reading package lists...
42.21 Building dependency tree...
42.28 Reading state information...
42.34 The following additional packages will be installed:
42.34   file libexpat1 libffi6 libmagic1 libpython-stdlib libpython2.7-minimal
42.34   libpython2.7-stdlib libsqlite3-0 libssl1.0.0 mime-support python-minimal
42.34   python2.7 python2.7-minimal
42.34 Suggested packages:
42.34   python-doc python-tk python2.7-doc binutils binfmt-support
42.34 The following NEW packages will be installed:
42.34   file libexpat1 libffi6 libmagic1 libpython-stdlib libpython2.7-minimal
42.34   libpython2.7-stdlib libsqlite3-0 libssl1.0.0 mime-support python
42.34   python-minimal python2.7 python2.7-minimal
43.11 0 upgraded, 14 newly installed, 0 to remove and 2 not upgraded.
43.11 Need to get 5717 kB of archives.
43.11 After this operation, 25.7 MB of additional disk space will be used.
43.11 Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-minimal amd64 2.7.12-1ubuntu0~16.04.18 [338 kB]
55.69 Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-minimal amd64 2.7.12-1ubuntu0~16.04.18 [1260 kB]
65.18 Get:3 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python-minimal amd64 2.7.12-1~16.04 [28.1 kB]
92.63 Get:4 http://archive.ubuntu.com/ubuntu xenial/main amd64 mime-support all 3.59ubuntu1 [31.0 kB]
213.7 Err:4 http://archive.ubuntu.com/ubuntu xenial/main amd64 mime-support all 3.59ubuntu1
213.7   Connection failed [IP: 91.189.91.81 80]
254.0 Get:5 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libexpat1 amd64 2.1.0-7ubuntu0.16.04.5 [71.5 kB]
255.3 Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 libffi6 amd64 3.2.1-4 [17.8 kB]
255.7 Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libsqlite3-0 amd64 3.11.0-1ubuntu1.5 [398 kB]
257.6 Get:8 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libssl1.0.0 amd64 1.0.2g-1ubuntu4.20 [1083 kB]
259.5 Get:9 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-stdlib amd64 2.7.12-1ubuntu0~16.04.18 [1883 kB]
260.7 Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7 amd64 2.7.12-1ubuntu0~16.04.18 [224 kB]
261.0 Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython-stdlib amd64 2.7.12-1~16.04 [7768 B]
261.4 Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 python amd64 2.7.12-1~16.04 [137 kB]
261.7 Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libmagic1 amd64 1:5.25-2ubuntu1.4 [216 kB]
262.1 Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 file amd64 1:5.25-2ubuntu1.4 [21.2 kB]
262.1 Fetched 5686 kB in 3min 39s (25.9 kB/s)
262.1 E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/m/mime-support/mime-support_3.59ubuntu1_all.deb  Connection failed [IP: 91.189.91.81 80]
262.1 
262.1 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
------1 warning found (use docker --debug to expand):- JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals (line 4)
Dockerfile:3
--------------------1 |     FROM ubuntu:16.042 |     COPY ./ /app3 | >>> RUN apt-get -y update && apt-get install -y python4 |     CMD python /app/app.py5 |     
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get -y update && apt-get install -y python" did not complete successfully: exit code: 100

????????報錯修改:

????????從構建日志來看,核心錯誤是?Ubuntu 16.04 鏡像的軟件源連接失敗(無法下載?mime-support?包),且存在一個 CMD 命令格式的警告。從構建日志來看,核心錯誤是?Ubuntu 16.04 鏡像的軟件源連接失敗(無法下載?mime-support?包),且存在一個 CMD 命令格式的警告

????????

????????一、錯誤原因分析

  1. Ubuntu 16.04 已停止官方支持(EOL)
    Ubuntu 16.04 早在 2021 年就結束了長期支持,其默認軟件源(archive.ubuntu.com)不再維護,導致 apt-get 下載包時頻繁失敗(連接超時或拒絕),這是本次構建失敗的根本原因。

  2. CMD 命令格式警告
    Docker 建議?CMD?使用?JSON 數組格式(而非字符串格式),避免與 OS 信號處理相關的意外問題(日志中?JSONArgsRecommended?警告)。? ?

  3. 二、解決方案:修改 Dockerfile直接使用官方 Python 鏡像(更簡潔)

  4. 修改后的 Dockerfile 內容:

  5. [root@host1 img-layers]# vi Dockerfile
    [root@host1 img-layers]# cat Dockerfile
    FROM python:3.9-slim
    WORKDIR /app
    COPY ./ /app
    CMD ["python", "/app/app.py"]

    三、重新構建并測試

  6. 1.清理之前的構建緩存(可選,避免舊鏡像干擾)

    1. [root@host1 img-layers]# docker builder prune -f
      IDRECLAIMABLESIZELAST ACCESSED
      zlm34izyjiinlnjyjdkduu8sx*              true 105B      3 minutes ago
      23890v1vbf75tfjlrr7nycue2*              true 0B        3 minutes ago
      taqlvmzw5ty0ju3xxlgadqiw2*              true 146B      3 minutes ago
      esiimfsl59rnov42lqy9rnlet               true 146B      3 minutes ago
      z91huwmp1ndhf13s7rozh90uk               true 0B        3 minutes ago
      enk8gcxrzj3j0n0c10hyp24z0               true 0B        7 minutes ago
      svngceqpst73s4n5aq62eonba               true 0B        7 minutes ago
      v6ex3r460c17eko42w83xsbkt               true 0B        7 minutes ago
      Total:397B

      2.重新構建鏡像

      [root@host1 img-layers]# docker build -t="img-layers-test" .
      [+] Building 19.0s (8/8) FINISHED                                                       docker:default=> [internal] load build definition from Dockerfile                                              0.0s=> => transferring dockerfile: 174B                                                              0.0s=> [internal] load metadata for docker.io/library/python:3.9-slim                                4.0s=> [internal] load .dockerignore                                                                 0.0s=> => transferring context: 2B                                                                   0.0s=> [1/3] FROM docker.io/library/python:3.9-slim@sha256:914169c7c8398b1b90c0b0ff921c8027445e39d7  9.7s=> => resolve docker.io/library/python:3.9-slim@sha256:914169c7c8398b1b90c0b0ff921c8027445e39d7  0.0s=> => sha256:914169c7c8398b1b90c0b0ff921c8027445e39d7c25dc440337e56ce0f2566e6 10.36kB / 10.36kB  0.0s=> => sha256:213766eae7e1ad5da6140428e7f15db89f2c83caf906cc06fc9c5c8a0028e3b6 1.74kB / 1.74kB    0.0s=> => sha256:28f8802246faa922c08dd76e3ec467e3cb4278af72e99e1afa2f68dfb9ea991d 5.30kB / 5.30kB    0.0s=> => sha256:396b1da7636e2dcd10565cb4f2f952cbb4a8a38b58d3b86a2cacb172fb70117c 29.77MB / 29.77MB  8.3s=> => sha256:0219e1e5e6ef3ef9d91f78826576a112b1c20622c10c294a4a105811454d1cb1 1.29MB / 1.29MB    1.3s=> => sha256:5ec99fe17015e703c289d110b020e4e362d5b425be957d68bfb400d56d83f234 13.37MB / 13.37MB  4.8s=> => sha256:ea3499df304f0a84e9f076a05f0cfe2a64d8fcb884894ce682df9204c6a18a91 249B / 249B        2.1s=> => extracting sha256:396b1da7636e2dcd10565cb4f2f952cbb4a8a38b58d3b86a2cacb172fb70117c         0.8s=> => extracting sha256:0219e1e5e6ef3ef9d91f78826576a112b1c20622c10c294a4a105811454d1cb1         0.1s=> => extracting sha256:5ec99fe17015e703c289d110b020e4e362d5b425be957d68bfb400d56d83f234         0.5s=> => extracting sha256:ea3499df304f0a84e9f076a05f0cfe2a64d8fcb884894ce682df9204c6a18a91         0.0s=> [internal] load build context                                                                 0.0s=> => transferring context: 310B                                                                 0.0s=> [2/3] WORKDIR /app                                                                            0.1s=> [3/3] COPY ./ /app                                                                            5.2s=> exporting to image                                                                            0.0s=> => exporting layers                                                                           0.0s=> => writing image sha256:f3993039c06a09804164873d3c78a4d6695fbc7e140e755ea1875cd191a4ec25      0.0s=> => naming to docker.io/library/img-layers-test 

      3.運行鏡像驗證結果

      [root@host1 img-layers]# docker run img-layers-test
      Hello, World

? ? ? ????????? 4.查看該鏡像的分層信息

[root@host1 img-layers]# docker history img-layers-test
IMAGE          CREATED          CREATED BY                                       SIZE      COMMENT
f3993039c06a   10 minutes ago   CMD ["python" "/app/app.py"]                     0B        buildkit.dockerfile.v0
<missing>      10 minutes ago   COPY ./ /app # buildkit                          118B      buildkit.dockerfile.v0
<missing>      10 minutes ago   WORKDIR /app                                     0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      CMD ["python3"]                                  0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      RUN /bin/sh -c set -eux;  for src in idle3 p…   36B       buildkit.dockerfile.v0
<missing>      4 weeks ago      RUN /bin/sh -c set -eux;   savedAptMark="$(a…   38.1MB    buildkit.dockerfile.v0
<missing>      4 weeks ago      ENV PYTHON_SHA256=61a42919e13d539f7673cf11d1…   0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      ENV PYTHON_VERSION=3.9.23                        0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      ENV GPG_KEY=E3FF2839C048B25C084DEBE9B26995E3…   0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      RUN /bin/sh -c set -eux;  apt-get update;  a…   3.8MB     buildkit.dockerfile.v0
<missing>      4 weeks ago      ENV LANG=C.UTF-8                                 0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      ENV PATH=/usr/local/bin:/usr/local/sbin:/usr…   0B        buildkit.dockerfile.v0
<missing>      4 weeks ago      # debian.sh --arch 'amd64' out/ 'trixie' '@1…   78.6MB    debuerreotype 0.15

????????至此,該鏡像的分層結構及構建方式就非常清楚明了了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98588.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98588.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98588.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡編程;套接字;TCP通訊;UDP通訊;0909

思維導圖TCP服務器端和客戶端通訊服務器端 代碼#include<myhead.h> #define SER_IP "192.168.109.12"//我的虛擬機的ip #define SER_PORT 8888 int main() {//1.創建一個用于連接的套接字文件描述符int sfd socket(AF_INET,SOCK_STREAM,0);if(sfd-1){perror(&…

貪心算法應用:柔性制造系統(FMS)刀具分配問題詳解

Java中的貪心算法應用&#xff1a;柔性制造系統(FMS)刀具分配問題詳解 1. 問題背景與定義 柔性制造系統(Flexible Manufacturing System, FMS)是現代智能制造中的關鍵組成部分&#xff0c;它能夠靈活地適應不同產品的生產需求。在FMS中&#xff0c;刀具分配是一個核心優化問題&…

不止是DELETE:MySQL多表關聯刪除的JOIN語法實戰詳解

MySQL 的 ??DELETE?? 語句用于從數據庫表中刪除記錄。這是一項非常強大且危險的操作&#xff0c;因為一旦執行&#xff0c;數據通常無法恢復。理解其語法和安全實踐至關重要。以下是 MySQL 刪除語句的詳細指南。一、 核心語法&#xff1a;DELETE??DELETE?? 語句用于刪除…

ubuntu 系統使用過程中黑屏問題分析

背景&#xff1a; 工欲善其事&#xff0c;必先利其器。作為程序員&#xff0c;想要得到更好的發展&#xff0c;遇到問題直接baidu, google 雖然可以得到一些參考或者答案&#xff0c;但是也會降低自己的思考能力&#xff0c;本文以ubuntu 使用過程中黑屏這一問題為背景&#x…

Redis(45)哨兵模式與集群模式有何區別?

Redis 提供了兩種高可用性解決方案&#xff1a;哨兵模式和集群模式。它們各自有不同的特點和適用場景。以下是詳細的對比和結合代碼的示例&#xff1a; 哨兵模式&#xff08;Sentinel&#xff09; 特點高可用性&#xff1a; Sentinel 通過監控、通知、故障轉移等功能&#xff0…

微信小程序如何進行分包處理?

目錄 分包是什么&#xff1f; 為什么要分包&#xff1f; 分包前后結構對比 具體操作步驟 第 1 步&#xff1a;規劃分包結構 第 2 步&#xff1a;修改 app.json 進行配置 第 3 步&#xff1a;創建分包目錄并移動文件 第 4 步&#xff1a;處理組件和工具函數的引用 第 5…

Go語言極速入門與精要指南從零到精通的系統化學習路徑

&#x1f49d;&#x1f49d;&#x1f49d;歡迎蒞臨我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 持續學習&#xff0c;不斷…

git 切換倉庫后清理分支緩存

我明白了&#xff0c;從您的截圖可以看到遠程倉庫中有 feature/v1.4_20250903 分支&#xff0c;但本地 git branch -r 看不到&#xff0c;這是因為之前更換過倉庫地址后需要重新獲取遠程倉庫的所有信息。讓我們執行以下步驟來解決這個問題&#xff1a; 首先執行 git fetch --al…

考研倒計時101天---路由選擇協議

路由選擇協議&#xff1a;RIP 與 OSPFRIP 協議&#xff08;基于距離向量算法&#xff09;RIP&#xff08;Routing Information Protocol&#xff09;是一種內部網關協議&#xff08;IGP&#xff09;&#xff0c;采用距離向量算法進行路由選擇。其主要特點如下&#xff1a;工作機…

「類 vs 實例」對比 ,「類 - 原型 - 實例」的關系

堅持的本身就是意義 目錄直觀類比類 (Class) vs 實例 (Instance)對比表示例代碼類 - 原型 - 實例關系圖解釋&#xff1a;類 (class Person)原型 (Person.prototype)實例 (new Person(...))總結&#xff1a;直觀類比 類&#xff08;Class&#xff09; 圖紙 / 模板實例&#xf…

第一課、Cocos Creator 3.8 安裝與配置

介紹說明 本文主要介紹在windows系統中&#xff0c;安裝開發Cocos使用的軟件工具&#xff0c;主要包含&#xff1a;安裝CocosDashboard控制面板、CocosCreator3.8編輯器和腳本編輯器 VS Code 。 一、Cocos Dashboard 的安裝 說明&#xff1a;Cocos Dashboard 主要作用是能夠同…

從航空FACE的一個落地方案漫談汽車HPC軟件架構的思維轉變(2/3)FACE的“段”同Autosar的“層”概念區別探索

文章目錄PART THREE&#xff1a;段和層的概念比較一、“段”更強調“功能閉環責任歸屬”&#xff0c;而非“單純的層級堆疊”二、“段”規避“層”的“剛性依賴陷阱”&#xff0c;適配航空系統的“靈活組合需求”三、“段”貼合航空工業的“工程化語言習慣”&#xff0c;降低跨…

金融量化指標--6InformationRatio信息比率

InformationRatio信息比率計算公式添加圖片注釋&#xff0c;不超過 140 字&#xff08;可選&#xff09;一、信息比率&#xff08;IR&#xff09;是什么&#xff1f;核心概念&#xff1a;信息比率衡量的是投資組合經理相對于某個基準指數&#xff08;Benchmark&#xff09;&…

Java全棧開發面試實錄:從基礎到微服務的實戰經驗分享

Java全棧開發面試實錄&#xff1a;從基礎到微服務的實戰經驗分享 一、初識面試場景 我叫李明&#xff0c;28歲&#xff0c;畢業于復旦大學計算機科學與技術專業&#xff0c;碩士學歷。在互聯網行業已經有5年的工作經驗&#xff0c;先后在兩家中型互聯網公司擔任Java全棧開發工程…

【51單片機】【protues仿真】基于51單片機公交報站系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 主要功能如下&#xff1a; 1、LCD12864顯示時間、日期、公交車車站、溫度等 2、按鍵設置時間&#xff0c;顯示公交車信息 3、串口播報相應站點信息 4、按鍵控制上行、下行、手動播…

第1節-PostgreSQL入門-從表中查詢數據

摘要&#xff1a;在本教程中,你將學習如何使用 PostgreSQL 的 SELECT 語句從表中檢索數據。 SELECT 語句 要從表中查詢數據,需使用 PostgreSQL 的 SELECT 語句。 以下是 SELECT 語句的基本語法: SELECT column1, column2, ... FROM table_name;在這種語法中: 首先,在 SELECT 關…

【C++進階】---- map和set的使用

1.序列式容器和關聯式容器 前?我們已經接觸過STL中的部分容器如&#xff1a;string、vector、list、deque、array、forward_list等&#xff0c;這些容器統稱為序列式容器&#xff0c;因為邏輯結構為線性序列的數據結構&#xff0c;兩個位置存儲的值之間?般沒有緊密的關聯關系…

430章:Python Web爬蟲入門:使用Requests和BeautifulSoup

在軟件交付日益高頻、用戶需求快速迭代的今天&#xff0c;版本發布流程的規范性直接決定了團隊的交付效率、產品質量和用戶滿意度。然而&#xff0c;許多團隊仍面臨以下痛點&#xff1a;發布混亂&#xff1a;分支管理隨意&#xff0c;代碼沖突頻發&#xff1b;質量失控&#xf…

代碼隨想錄第七天|● 454.四數相加II ● 383. 贖金信 ● 15. 三數之和 18.四數之和

本文所有題目鏈接/文章講解/視頻講解&#xff1a;https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html 454.四數相加II 有四個數組&#xff0c;如果要遍歷則時間復雜度太大 可以選擇分組&#xff0c;a和b一組&#xff0c;c和d一組 這樣就可以等同于…

Vue3源碼reactivity響應式篇之computed計算屬性

概述 vue3中&#xff0c;computed函數用于表示計算屬性&#xff0c;有惰性求值、響應式追蹤依賴的特點。本文將介紹computed的實現原理以及其機制細節。 源碼解析 computed計算屬性和computed方法、ComputedRefImpl類以及refreshComputed方法有關。 computed方法 computed暴露給…