[{"data":1,"prerenderedAt":869},["ShallowReactive",2],{"wiki-page-/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong":3,"wiki-doc-items-/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong":788,"language-switcher-data-/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong":853,"wiki-i18n-paths-/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong":868},{"id":4,"title":5,"body":6,"canonicalPath":769,"chapter":770,"chapterSort":771,"date":772,"description":20,"docI18nKey":773,"docKey":774,"docRoot":775,"docTitle":776,"extension":777,"i18nKey":778,"isBlogPost":779,"isWikiDoc":369,"isWikiIndex":779,"layout":780,"legacyPath":780,"locale":781,"localeSlug":782,"meta":783,"navigation":369,"path":769,"seo":784,"sourcePath":785,"sourceStem":778,"stem":786,"wikiDepth":45,"__hash__":787},"content/_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch3-Docker直通.md","Docker直通",{"type":7,"value":8,"toc":763},"minimark",[9,14,22,29,32,75,80,89,92,97,101,109,114,122,126,129,134,139,242,247,268,273,294,299,317,321,326,355,360,415,420,468,479,496,504,520,528,542,549,552,560,563,593,598,603,607,610,613,619,622,625,628,697,704,709,712,736,739,756,759],[10,11,13],"h3",{"id":12},"usb直通","USB直通",[15,16,17],"p",{},[18,19],"img",{"alt":20,"src":21},"","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image5.webp",[23,24,25],"ol",{},[26,27,28],"li",{},"方法一(不是很推薦新手)：",[15,30,31],{},"創建容器的時候把需要的設備加在紅色部分這裏即可。可以通過下面的命令查看想要的設備的名字。",[33,34,38],"pre",{"className":35,"code":36,"language":37,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","ls /dev\n#例如\n--device=/dev/tty_USB0\n","bash",[39,40,41,54,61],"code",{"__ignoreMap":20},[42,43,46,50],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"sScJk","ls",[42,51,53],{"class":52},"sZZnC"," /dev\n",[42,55,57],{"class":44,"line":56},2,[42,58,60],{"class":59},"sJ8bj","#例如\n",[42,62,64,68,72],{"class":44,"line":63},3,[42,65,67],{"class":66},"sVt8B","--device",[42,69,71],{"class":70},"szBVR","=",[42,73,74],{"class":52},"/dev/tty_USB0\n",[23,76,77],{"start":56},[26,78,79],{},"方法二(個人更加推薦，不用重新再掛載了，雖然安全性會降低，但是別人利用安全權限能夠攻擊你的概率很低很低，企業服務器才需要提防)：",[33,81,83],{"className":35,"code":82,"language":37,"meta":20,"style":20},"--privileged\n",[39,84,85],{"__ignoreMap":20},[42,86,87],{"class":44,"line":45},[42,88,82],{"class":48},[15,90,91],{},"直接添加一行綠色部分，然後所有設備都會被掛載到docker了。(紅色部分就不用寫了）",[15,93,94],{},[18,95],{"alt":20,"src":96},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image6.webp",[10,98,100],{"id":99},"nvidia顯卡直通","NVIDIA顯卡直通",[15,102,103,104,108],{},"NVIDIA Container Toolkit使用户 ",[105,106,107],"strong",{},"能夠構建和運行GPU加速的容器"," 。該工具包包括一個容器運行庫和實用程序，用於自動配置容器以利用NVIDIA GPU。",[15,110,111],{},[18,112],{"alt":20,"src":113},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image7.webp",[15,115,116],{},[117,118,119],"a",{"href":119,"rel":120},"https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html",[121],"nofollow",[123,124,125],"h4",{"id":125},"安裝",[15,127,128],{},"（儘量能看官方就看官方的，安裝方式可能會更新）",[130,131,133],"h5",{"id":132},"ubuntu","Ubuntu",[23,135,136],{},[26,137,138],{},"配置存儲庫 並更新",[33,140,142],{"className":35,"code":141,"language":37,"meta":20,"style":20},"curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\\n    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\n    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \\\n  && \\\n    sudo apt-get update\n",[39,143,144,177,197,209,223,231],{"__ignoreMap":20},[42,145,146,149,153,156,159,162,165,168,171,174],{"class":44,"line":45},[42,147,148],{"class":48},"curl",[42,150,152],{"class":151},"sj4cs"," -fsSL",[42,154,155],{"class":52}," https://nvidia.github.io/libnvidia-container/gpgkey",[42,157,158],{"class":70}," |",[42,160,161],{"class":48}," sudo",[42,163,164],{"class":52}," gpg",[42,166,167],{"class":151}," --dearmor",[42,169,170],{"class":151}," -o",[42,172,173],{"class":52}," /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg",[42,175,176],{"class":151}," \\\n",[42,178,179,182,184,187,190,193,195],{"class":44,"line":56},[42,180,181],{"class":66},"  && ",[42,183,148],{"class":48},[42,185,186],{"class":151}," -s",[42,188,189],{"class":151}," -L",[42,191,192],{"class":52}," https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list",[42,194,158],{"class":70},[42,196,176],{"class":151},[42,198,199,202,205,207],{"class":44,"line":63},[42,200,201],{"class":48},"    sed",[42,203,204],{"class":52}," 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'",[42,206,158],{"class":70},[42,208,176],{"class":151},[42,210,212,215,218,221],{"class":44,"line":211},4,[42,213,214],{"class":48},"    sudo",[42,216,217],{"class":52}," tee",[42,219,220],{"class":52}," /etc/apt/sources.list.d/nvidia-container-toolkit.list",[42,222,176],{"class":151},[42,224,226,228],{"class":44,"line":225},5,[42,227,181],{"class":66},[42,229,230],{"class":151},"\\\n",[42,232,234,236,239],{"class":44,"line":233},6,[42,235,214],{"class":48},[42,237,238],{"class":52}," apt-get",[42,240,241],{"class":52}," update\n",[23,243,244],{"start":56},[26,245,246],{},"安裝nvidia-docker2",[33,248,250],{"className":35,"code":249,"language":37,"meta":20,"style":20},"sudo apt-get install -y nvidia-docker2\n",[39,251,252],{"__ignoreMap":20},[42,253,254,257,259,262,265],{"class":44,"line":45},[42,255,256],{"class":48},"sudo",[42,258,238],{"class":52},[42,260,261],{"class":52}," install",[42,263,264],{"class":151}," -y",[42,266,267],{"class":52}," nvidia-docker2\n",[23,269,270],{"start":63},[26,271,272],{},"使用nvidia-ctk命令配置container runtime",[33,274,276],{"className":35,"code":275,"language":37,"meta":20,"style":20},"sudo nvidia-ctk runtime configure --runtime=docker\n",[39,277,278],{"__ignoreMap":20},[42,279,280,282,285,288,291],{"class":44,"line":45},[42,281,256],{"class":48},[42,283,284],{"class":52}," nvidia-ctk",[42,286,287],{"class":52}," runtime",[42,289,290],{"class":52}," configure",[42,292,293],{"class":151}," --runtime=docker\n",[23,295,296],{"start":211},[26,297,298],{},"重啓docker服務:",[33,300,302],{"className":35,"code":301,"language":37,"meta":20,"style":20},"sudo systemctl restart docker\n",[39,303,304],{"__ignoreMap":20},[42,305,306,308,311,314],{"class":44,"line":45},[42,307,256],{"class":48},[42,309,310],{"class":52}," systemctl",[42,312,313],{"class":52}," restart",[42,315,316],{"class":52}," docker\n",[130,318,320],{"id":319},"fedora","Fedora",[23,322,323],{},[26,324,325],{},"Configure the production repository:",[33,327,329],{"className":35,"code":328,"language":37,"meta":20,"style":20},"curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \\\nsudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo\n",[39,330,331,346],{"__ignoreMap":20},[42,332,333,335,337,339,342,344],{"class":44,"line":45},[42,334,148],{"class":48},[42,336,186],{"class":151},[42,338,189],{"class":151},[42,340,341],{"class":52}," https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo",[42,343,158],{"class":70},[42,345,176],{"class":151},[42,347,348,350,352],{"class":44,"line":56},[42,349,256],{"class":48},[42,351,217],{"class":52},[42,353,354],{"class":52}," /etc/yum.repos.d/nvidia-container-toolkit.repo\n",[23,356,357],{"start":56},[26,358,359],{},"Optionally, configure the repository to use experimental packages:",[33,361,363],{"className":35,"code":362,"language":37,"meta":20,"style":20},"\n# 如果是RHEL或者Rocky（DNF4）\nsudo dnf config-manager --add-repo https://nvidia.github.io/libnvidia-container/stable/rpm/libnvidia-container.repo\n\n# 如果是Feodra41+（DNF5）\nsudo dnf config-manager addrepo --from-repofile=https://nvidia.github.io/libnvidia-container/stable/rpm/libnvidia-container.repo\n",[39,364,365,371,376,392,396,401],{"__ignoreMap":20},[42,366,367],{"class":44,"line":45},[42,368,370],{"emptyLinePlaceholder":369},true,"\n",[42,372,373],{"class":44,"line":56},[42,374,375],{"class":59},"# 如果是RHEL或者Rocky（DNF4）\n",[42,377,378,380,383,386,389],{"class":44,"line":63},[42,379,256],{"class":48},[42,381,382],{"class":52}," dnf",[42,384,385],{"class":52}," config-manager",[42,387,388],{"class":151}," --add-repo",[42,390,391],{"class":52}," https://nvidia.github.io/libnvidia-container/stable/rpm/libnvidia-container.repo\n",[42,393,394],{"class":44,"line":211},[42,395,370],{"emptyLinePlaceholder":369},[42,397,398],{"class":44,"line":225},[42,399,400],{"class":59},"# 如果是Feodra41+（DNF5）\n",[42,402,403,405,407,409,412],{"class":44,"line":233},[42,404,256],{"class":48},[42,406,382],{"class":52},[42,408,385],{"class":52},[42,410,411],{"class":52}," addrepo",[42,413,414],{"class":151}," --from-repofile=https://nvidia.github.io/libnvidia-container/stable/rpm/libnvidia-container.repo\n",[23,416,417],{"start":63},[26,418,419],{},"Install the NVIDIA Container Toolkit packages:",[33,421,423],{"className":35,"code":422,"language":37,"meta":20,"style":20},"\n# 如果是RHEL或者Rocky\nsudo dnf install -y nvidia-container-toolkit\n\n# 如果是Fedora\nsudo dnf install -y nvidia-container-toolkit\n",[39,424,425,429,434,447,451,456],{"__ignoreMap":20},[42,426,427],{"class":44,"line":45},[42,428,370],{"emptyLinePlaceholder":369},[42,430,431],{"class":44,"line":56},[42,432,433],{"class":59},"# 如果是RHEL或者Rocky\n",[42,435,436,438,440,442,444],{"class":44,"line":63},[42,437,256],{"class":48},[42,439,382],{"class":52},[42,441,261],{"class":52},[42,443,264],{"class":151},[42,445,446],{"class":52}," nvidia-container-toolkit\n",[42,448,449],{"class":44,"line":211},[42,450,370],{"emptyLinePlaceholder":369},[42,452,453],{"class":44,"line":225},[42,454,455],{"class":59},"# 如果是Fedora\n",[42,457,458,460,462,464,466],{"class":44,"line":233},[42,459,256],{"class":48},[42,461,382],{"class":52},[42,463,261],{"class":52},[42,465,264],{"class":151},[42,467,446],{"class":52},[23,469,470],{"start":211},[26,471,472,474,475,478],{},[105,473,246],{}," ： 在Fedora上使用",[39,476,477],{},"dnf","進行安裝。",[33,480,482],{"className":35,"code":481,"language":37,"meta":20,"style":20},"sudo dnf install -y nvidia-docker2\n",[39,483,484],{"__ignoreMap":20},[42,485,486,488,490,492,494],{"class":44,"line":45},[42,487,256],{"class":48},[42,489,382],{"class":52},[42,491,261],{"class":52},[42,493,264],{"class":151},[42,495,267],{"class":52},[23,497,498],{"start":225},[26,499,500,503],{},[105,501,502],{},"使用nvidia-ctk命令配置容器運行時"," ： 這個命令用於配置NVIDIA Container Toolkit與Docker集成。命令如下：",[33,505,506],{"className":35,"code":275,"language":37,"meta":20,"style":20},[39,507,508],{"__ignoreMap":20},[42,509,510,512,514,516,518],{"class":44,"line":45},[42,511,256],{"class":48},[42,513,284],{"class":52},[42,515,287],{"class":52},[42,517,290],{"class":52},[42,519,293],{"class":151},[23,521,522],{"start":233},[26,523,524,527],{},[105,525,526],{},"重啓Docker服務"," ： 完成配置後，必須重啓Docker服務以使更改生效：",[33,529,530],{"className":35,"code":301,"language":37,"meta":20,"style":20},[39,531,532],{"__ignoreMap":20},[42,533,534,536,538,540],{"class":44,"line":45},[42,535,256],{"class":48},[42,537,310],{"class":52},[42,539,313],{"class":52},[42,541,316],{"class":52},[15,543,544,545,548],{},"這些步驟執行後，Docker將使用NVIDIA Container Runtime，並支持GPU加速的容器運行。你可以使用",[39,546,547],{},"nvidia-smi","命令來驗證容器中的NVIDIA GPU是否可用。",[123,550,551],{"id":551},"測試是否可用",[23,553,554],{},[26,555,556,559],{},[105,557,558],{},"運行nvidia cuda 容器進行測試"," ：",[15,561,562],{},"可以使用下面指令進行測試，docker會自動從nvidia/cuda拉取11.0.3-base-ubuntu20.04鏡像，並創建一個運行一次即刪除的容器。",[33,564,566],{"className":35,"code":565,"language":37,"meta":20,"style":20},"sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi\n",[39,567,568],{"__ignoreMap":20},[42,569,570,572,575,578,581,584,587,590],{"class":44,"line":45},[42,571,256],{"class":48},[42,573,574],{"class":52}," docker",[42,576,577],{"class":52}," run",[42,579,580],{"class":151}," --rm",[42,582,583],{"class":151}," --gpus",[42,585,586],{"class":52}," all",[42,588,589],{"class":52}," nvidia/cuda:11.0.3-base-ubuntu20.04",[42,591,592],{"class":52}," nvidia-smi\n",[15,594,595],{},[18,596],{"alt":20,"src":597},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image8.webp",[15,599,600],{},[18,601],{"alt":20,"src":602},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image9.webp",[10,604,606],{"id":605},"docker配置cuda和cudnn","Docker配置CUDA和CuDNN",[15,608,609],{},"如果你不需要自己創建Docker鏡像，直接使用學長或者其他人創建好的鏡像，則不用看該章節，容器的CUDA和CuDNN是和本地完全隔離的環境，你本地有沒有CUDA都無所謂，但英偉達驅動版本必須滿足CUDA的最低版本要求。",[15,611,612],{},"下面是如果你想自己創建鏡像，則可以在學會如何創建容器的鏡像後再回來看本節：",[15,614,615],{},[117,616,617],{"href":617,"rel":618},"https://hub.docker.com/r/nvidia/cuda",[121],[15,620,621],{},"在上方這個網站中，英偉達都幫我們配置好了CUDA和CuDNN了，我們根本不需要自己去配置了，比傳統方式要簡單太多太多了。",[15,623,624],{},"我們只需要找到對應的Docker鏡像當底包即可。",[15,626,627],{},"CUDA鏡像有三個類型，如下，如果我們需要編譯OpenCV4,那麼需要使用devel版的CUDA。",[629,630,631,651],"table",{},[632,633,634],"thead",{},[635,636,637,642,645,648],"tr",{},[638,639,641],"th",{"align":640},"left","鏡像類型",[638,643,644],{"align":640},"適用場景",[638,646,647],{"align":640},"示例標籤",[638,649,650],{"align":640},"大小",[652,653,654,669,683],"tbody",{},[635,655,656,660,663,666],{},[657,658,659],"td",{"align":640},"base",[657,661,662],{"align":640},"僅需 CUDA 運行時庫",[657,664,665],{"align":640},"12.4.0-base-ubuntu22.04",[657,667,668],{"align":640},"~240MB",[635,670,671,674,677,680],{},[657,672,673],{"align":640},"runtime",[657,675,676],{"align":640},"部署編譯後的應用（含數學庫）",[657,678,679],{"align":640},"12.4.0-runtime-ubuntu22.04",[657,681,682],{"align":640},"~2GB",[635,684,685,688,691,694],{},[657,686,687],{"align":640},"devel",[657,689,690],{"align":640},"開發環境（含編譯工具）",[657,692,693],{"align":640},"12.4.0-devel-ubuntu22.04",[657,695,696],{"align":640},"~3GB",[15,698,699,700,703],{},"我示例一個，比如我想用在Ubuntu24.04上用CUDA12.6和CuDNN，那麼就選擇",[39,701,702],{},"nvidia/cuda:12.6.0-cudnn-devel-ubuntu24.04","。這個鏡像既有CUDA-devel也有CuDNN，而且還是基於Ubuntu24.04的。",[15,705,706],{},[18,707],{"alt":20,"src":708},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2024/10/03/image10.webp",[15,710,711],{},"在dockerfile裏就可以開頭這麼寫。",[33,713,717],{"className":714,"code":715,"language":716,"meta":20,"style":20},"language-dockerfile shiki shiki-themes github-light github-dark","\n# 基于NVIDIA官方CUDA 12.6和CuDNN基础镜像\nFROM nvidia/cuda:12.6.0-cudnn-devel-ubuntu24.04\n","dockerfile",[39,718,719,723,728],{"__ignoreMap":20},[42,720,721],{"class":44,"line":45},[42,722,370],{"emptyLinePlaceholder":369},[42,724,725],{"class":44,"line":56},[42,726,727],{"class":59},"# 基于NVIDIA官方CUDA 12.6和CuDNN基础镜像\n",[42,729,730,733],{"class":44,"line":63},[42,731,732],{"class":70},"FROM",[42,734,735],{"class":66}," nvidia/cuda:12.6.0-cudnn-devel-ubuntu24.04\n",[10,737,738],{"id":738},"配置以太網",[33,740,742],{"className":35,"code":741,"language":37,"meta":20,"style":20},"--net=host \\\n",[39,743,744],{"__ignoreMap":20},[42,745,746,749,751,754],{"class":44,"line":45},[42,747,748],{"class":66},"--net",[42,750,71],{"class":70},[42,752,753],{"class":52},"host",[42,755,176],{"class":48},[15,757,758],{},"啓動參數里加上這行即可。具體在下方。",[760,761,762],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":20,"searchDepth":56,"depth":56,"links":764},[765,766,767,768],{"id":12,"depth":63,"text":13},{"id":99,"depth":63,"text":100},{"id":605,"depth":63,"text":606},{"id":738,"depth":63,"text":738},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","3",3000000,"2024-10-03","wiki/2024-10-03-docker-jiao-cheng","zh-hk:2024-10-03-docker-jiao-cheng","/zh-hk/wiki/2024-10-03-docker-jiao-cheng","Docker教程","md","wiki/2024-10-03-Docker教程/ch3-Docker直通",false,null,"zh-HK","zh-hk",{},{"title":5,"description":20},"/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch3-Docker直通","KcD1neC4kfXMynm_ngDxnBg-XnHYRYG7vyix6FggPLo",[789,795,801,807,813,814,820,826,832,838,844,850],{"path":790,"stem":791,"title":792,"date":772,"chapter":793,"chapterSort":794,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch1-jian-jie","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch1-简介","簡介","1",1000000,{"path":796,"stem":797,"title":798,"date":772,"chapter":799,"chapterSort":800,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch10-1-kuai-su-da-kai-zhong-duan","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch10-1-快速打开终端","Docker快速打開終端","10.1",10010000,{"path":802,"stem":803,"title":804,"date":772,"chapter":805,"chapterSort":806,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch10-docker-shi-yong-you-hua","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch10-Docker使用优化","Docker使用優化","10",10000000,{"path":808,"stem":809,"title":810,"date":772,"chapter":811,"chapterSort":812,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch2-an-zhuang-docker","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch2-安装Docker","安裝Docker","2",2000000,{"path":769,"stem":786,"title":5,"date":772,"chapter":770,"chapterSort":771,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},{"path":815,"stem":816,"title":817,"date":772,"chapter":818,"chapterSort":819,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch4-dockerhub-huan-yuan","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch4-DockerHub换源","DockerHub換源","4",4000000,{"path":821,"stem":822,"title":823,"date":772,"chapter":824,"chapterSort":825,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch5-docker-rong-qi-li-de-cheng-xu-de-tu-xing-jie-mian-tan-bu-chu-lai","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch5-docker容器里的程序的图形界面弹不出来","docker容器裏的程序的圖形界面彈不出來","5",5000000,{"path":827,"stem":828,"title":829,"date":772,"chapter":830,"chapterSort":831,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch6-docker-ming-ling-xue-xi","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch6-Docker命令学习","Docker命令學習","6",6000000,{"path":833,"stem":834,"title":835,"date":772,"chapter":836,"chapterSort":837,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch7-ge-zhong-docker-rong-qi-bu-shu","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch7-各种Docker容器部署","各種Docker容器部署","7",7000000,{"path":839,"stem":840,"title":841,"date":772,"chapter":842,"chapterSort":843,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch8-shou-dong-chuang-jian-docker-jing-xiang","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch8-手动创建Docker镜像","手動創建Docker鏡像","8",8000000,{"path":845,"stem":846,"title":847,"date":772,"chapter":848,"chapterSort":849,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":779},"/zh-hk/wiki/2024-10-03-docker-jiao-cheng/ch9-vscode-yuan-cheng-kai-fa","_i18n/zh-hk/wiki/2024-10-03-Docker教程/ch9-VScode远程开发","VScode遠程開發","9",9000000,{"path":775,"stem":851,"title":776,"date":772,"chapter":780,"chapterSort":852,"docKey":774,"docRoot":775,"docTitle":776,"isWikiDoc":369,"isWikiIndex":369},"_i18n/zh-hk/wiki/2024-10-03-Docker教程/index",0,{"variants":854},[855,858,861,862,865],{"path":856,"localeSlug":857,"i18nKey":778},"/en-us/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","en-us",{"path":859,"localeSlug":860,"i18nKey":778},"/zh-hant/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","zh-hant",{"path":769,"localeSlug":782,"i18nKey":778},{"path":863,"localeSlug":864,"i18nKey":778},"/zh-tw/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","zh-tw",{"path":866,"localeSlug":867,"i18nKey":778},"/zh-cn/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","zh-cn",[856,785,859,785,769,785,863,785,866,785],1780671855795]