[{"data":1,"prerenderedAt":1091},["ShallowReactive",2],{"wiki-page-/wiki/2024-10-03-docker-jiao-cheng/ch6-docker-ming-ling-xue-xi":3,"wiki-doc-items-/wiki/2024-10-03-docker-jiao-cheng/ch6-docker-ming-ling-xue-xi":1026},{"id":4,"title":5,"body":6,"chapter":1011,"chapterSort":1012,"date":1013,"description":599,"docKey":1014,"docRoot":1015,"docTitle":1016,"extension":1017,"isWikiDoc":1018,"isWikiIndex":1019,"layout":1020,"meta":1021,"navigation":1018,"path":1022,"seo":1023,"stem":1024,"wikiDepth":606,"__hash__":1025},"content/wiki/2024-10-03-Docker教程/ch6-Docker命令学习.md","Docker命令学习",{"type":7,"value":8,"toc":1007},"minimark",[9,13,22,25,28,375,383,565,577,593,896,899,927,942,953,1003],[10,11,12],"h3",{"id":12},"参考文档",[14,15,16],"p",{},[17,18,19],"a",{"href":19,"rel":20},"https://www.runoob.com/docker/docker-tutorial.html",[21],"nofollow",[10,23,24],{"id":24},"常用命令",[14,26,27],{},"常用的标红了，偶尔用的标绿了，其他了解就行。",[29,30,31,48],"table",{},[32,33,34],"thead",{},[35,36,37,42,45],"tr",{},[38,39,41],"th",{"align":40},"left","命令",[38,43,44],{"align":40},"描述",[38,46,47],{"align":40},"示例",[49,50,51,63,74,85,96,107,118,129,139,150,161,172,182,193,204,215,225,235,245,255,266,277,288,299,310,321,331,342,353,364],"tbody",{},[35,52,53,57,60],{},[54,55,56],"td",{"align":40},"docker run",[54,58,59],{"align":40},"创建并启动一个新的容器。",[54,61,62],{"align":40},"docker run -it ubuntu bash",[35,64,65,68,71],{},[54,66,67],{"align":40},"docker build",[54,69,70],{"align":40},"通过指定的 Dockerfile 创建一个新的镜像。",[54,72,73],{"align":40},"docker build -t myimage .",[35,75,76,79,82],{},[54,77,78],{"align":40},"docker pull",[54,80,81],{"align":40},"从 Docker 仓库拉取镜像。",[54,83,84],{"align":40},"docker pull ubuntu",[35,86,87,90,93],{},[54,88,89],{"align":40},"docker push",[54,91,92],{"align":40},"将本地镜像推送到 Docker 仓库。",[54,94,95],{"align":40},"docker push myimage",[35,97,98,101,104],{},[54,99,100],{"align":40},"docker stop",[54,102,103],{"align":40},"停止一个正在运行的容器。",[54,105,106],{"align":40},"docker stop container_id",[35,108,109,112,115],{},[54,110,111],{"align":40},"docker start",[54,113,114],{"align":40},"启动一个已经存在的容器。",[54,116,117],{"align":40},"docker start container_id",[35,119,120,123,126],{},[54,121,122],{"align":40},"docker restart",[54,124,125],{"align":40},"重新启动容器。",[54,127,128],{"align":40},"docker restart container_id",[35,130,131,134,137],{},[54,132,133],{"align":40},"docker ps",[54,135,136],{"align":40},"列出当前正在运行的容器。",[54,138,133],{"align":40},[35,140,141,144,147],{},[54,142,143],{"align":40},"docker rm",[54,145,146],{"align":40},"删除一个或多个停止的容器。",[54,148,149],{"align":40},"docker rm container_id",[35,151,152,155,158],{},[54,153,154],{"align":40},"docker exec",[54,156,157],{"align":40},"在一个正在运行的容器中执行命令。",[54,159,160],{"align":40},"docker exec -it container_id bash",[35,162,163,166,169],{},[54,164,165],{"align":40},"docker logs",[54,167,168],{"align":40},"查看容器的日志输出。",[54,170,171],{"align":40},"docker logs container_id",[35,173,174,177,180],{},[54,175,176],{"align":40},"docker images",[54,178,179],{"align":40},"列出本地所有镜像。",[54,181,176],{"align":40},[35,183,184,187,190],{},[54,185,186],{"align":40},"docker rmi",[54,188,189],{"align":40},"删除一个或多个镜像。",[54,191,192],{"align":40},"docker rmi myimage",[35,194,195,198,201],{},[54,196,197],{"align":40},"docker network",[54,199,200],{"align":40},"管理 Docker 网络。",[54,202,203],{"align":40},"docker network ls",[35,205,206,209,212],{},[54,207,208],{"align":40},"docker volume",[54,210,211],{"align":40},"管理 Docker 数据卷。",[54,213,214],{"align":40},"docker volume ls",[35,216,217,220,223],{},[54,218,219],{"align":40},"docker-compose up",[54,221,222],{"align":40},"启动 docker-compose.yml 中定义的所有服务。",[54,224,219],{"align":40},[35,226,227,230,233],{},[54,228,229],{"align":40},"docker-compose down",[54,231,232],{"align":40},"停止并移除 docker-compose.yml 中定义的所有服务及其相关资源。",[54,234,229],{"align":40},[35,236,237,240,243],{},[54,238,239],{"align":40},"docker info",[54,241,242],{"align":40},"显示 Docker 系统的详细信息。",[54,244,239],{"align":40},[35,246,247,250,253],{},[54,248,249],{"align":40},"docker stats",[54,251,252],{"align":40},"查看正在运行的容器的实时资源使用情况（CPU、内存等）。",[54,254,249],{"align":40},[35,256,257,260,263],{},[54,258,259],{"align":40},"docker inspect",[54,261,262],{"align":40},"查看容器或镜像的详细信息（JSON 格式）。",[54,264,265],{"align":40},"docker inspect container_id",[35,267,268,271,274],{},[54,269,270],{"align":40},"docker save",[54,272,273],{"align":40},"将一个镜像保存为 tar 文件。",[54,275,276],{"align":40},"docker save -o myimage.tar myimage",[35,278,279,282,285],{},[54,280,281],{"align":40},"docker load",[54,283,284],{"align":40},"从 tar 文件中加载镜像。",[54,286,287],{"align":40},"docker load -i myimage.tar",[35,289,290,293,296],{},[54,291,292],{"align":40},"docker tag",[54,294,295],{"align":40},"为镜像添加标签（tag）。",[54,297,298],{"align":40},"docker tag myimage myimage:v1",[35,300,301,304,307],{},[54,302,303],{"align":40},"docker buildx build",[54,305,306],{"align":40},"使用 Buildx 构建多架构镜像。",[54,308,309],{"align":40},"docker buildx build -t myimage .",[35,311,312,315,318],{},[54,313,314],{"align":40},"docker buildx create",[54,316,317],{"align":40},"创建一个新的 Buildx 构建实例。",[54,319,320],{"align":40},"docker buildx create --use",[35,322,323,326,329],{},[54,324,325],{"align":40},"docker buildx ls",[54,327,328],{"align":40},"列出所有可用的 Buildx 构建实例。",[54,330,325],{"align":40},[35,332,333,336,339],{},[54,334,335],{"align":40},"docker buildx use",[54,337,338],{"align":40},"设置当前的 Buildx 构建实例。",[54,340,341],{"align":40},"docker buildx use mybuilder",[35,343,344,347,350],{},[54,345,346],{"align":40},"docker buildx bake",[54,348,349],{"align":40},"使用 Bake 文件批量构建镜像。",[54,351,352],{"align":40},"docker buildx bake -f bake.hcl",[35,354,355,358,361],{},[54,356,357],{"align":40},"docker buildx build --push",[54,359,360],{"align":40},"构建镜像并推送到镜像仓库。",[54,362,363],{"align":40},"docker buildx build --push -t myimage .",[35,365,366,369,372],{},[54,367,368],{"align":40},"docker buildx build --platform",[54,370,371],{"align":40},"构建镜像并为多个平台生成支持。",[54,373,374],{"align":40},"docker buildx build --platform linux/amd64,linux/arm64 -t myimage .",[376,377,379],"h4",{"id":378},"run命令的参数非常重要",[380,381,382],"strong",{},"run命令的参数（非常重要）",[29,384,385,398],{},[32,386,387],{},[35,388,389,392,395],{},[38,390,391],{"align":40},"参数/配置",[38,393,394],{"align":40},"功能说明",[38,396,397],{"align":40},"重要性与参考依据",[49,399,400,411,422,433,444,455,466,477,488,499,510,521,532,543,554],{},[35,401,402,405,408],{},[54,403,404],{"align":40},"--name=ros_jazzy_opencv411_cuda128_cudnn971_noble",[54,406,407],{"align":40},"指定容器名称，便于后续管理",[54,409,410],{"align":40},"替代随机生成的容器名。",[35,412,413,416,419],{},[54,414,415],{"align":40},"--gpus all",[54,417,418],{"align":40},"允许容器访问宿主机所有GPU资源，需NVIDIA驱动支持",[54,420,421],{"align":40},"用于CUDA加速等GPU依赖任务。",[35,423,424,427,430],{},[54,425,426],{"align":40},"-e NVIDIA_DRIVER_CAPABILITIES=all",[54,428,429],{"align":40},"启用NVIDIA驱动的全部功能（如CUDA、图形渲染）",[54,431,432],{"align":40},"确保容器内GPU功能完整67。",[35,434,435,438,441],{},[54,436,437],{"align":40},"-dit",[54,439,440],{"align":40},"组合参数：- -d：后台运行容器（Detached模式）- -i：保持标准输入（STDIN）开放- -t：分配伪终端（TTY）",[54,442,443],{"align":40},"允许容器在后台运行并支持交互操作。",[35,445,446,449,452],{},[54,447,448],{"align":40},"--privileged",[54,450,451],{"align":40},"赋予容器完全主机权限（可访问设备、内核模块等）",[54,453,454],{"align":40},"用于需要直接操作硬件的场景（如访问USB设备），但存在安全风险。",[35,456,457,460,463],{},[54,458,459],{"align":40},"--net=host",[54,461,462],{"align":40},"共享宿主机网络命名空间（容器使用宿主机IP和端口）",[54,464,465],{"align":40},"简化网络配置，无NAT，这样的话，网络效率更高，局域网设备更容易发现。",[35,467,468,471,474],{},[54,469,470],{"align":40},"--group-add audio--group-add video--group-add dialout",[54,472,473],{"align":40},"将容器用户加入宿主机用户组：- audio：音频设备访问- video：视频设备访问- dialout：串口设备访问",[54,475,476],{"align":40},"避免权限问题（如避免无法调用摄像头、麦克风）。",[35,478,479,482,485],{},[54,480,481],{"align":40},"-e DISPLAY=$DISPLAY-e XAUTHORITY=/home/tungchiahui/.Xauthority-e WAYLAND_DISPLAY-e XDG_RUNTIME_DIR-e QT_QPA_PLATFORM=xcb",[54,483,484],{"align":40},"配置图形显示环境：- 绑定宿主机显示接口（X11或Wayland）- 设置GUI应用渲染后端",[54,486,487],{"align":40},"支持容器内运行图形界面应用（如OpenCV可视化）。",[35,489,490,493,496],{},[54,491,492],{"align":40},"-v /tmp/.X11-unix:/tmp/.X11-unix:rw-v /dev/dri:/dev/dri",[54,494,495],{"align":40},"挂载宿主机图形设备：- X11套接字目录- 直接渲染管理器（DRI）设备",[54,497,498],{"align":40},"实现容器内图形显示。",[35,500,501,504,507],{},[54,502,503],{"align":40},"-v $HOME/.Xauthority:/home/tungchiahui/.Xauthority:ro",[54,505,506],{"align":40},"挂载X11认证文件（只读）",[54,508,509],{"align":40},"确保容器有权连接宿主机显示服务。",[35,511,512,515,518],{},[54,513,514],{"align":40},"-v /run/user/1000/wayland-0-v /run/user/1000",[54,516,517],{"align":40},"挂载Wayland显示协议相关目录",[54,519,520],{"align":40},"支持Wayland协议的图形显示。",[35,522,523,526,529],{},[54,524,525],{"align":40},"--ulimit nofile=1024:524288",[54,527,528],{"align":40},"设置进程**最大可打开文件数（nofile）**的方式，用于控制容器或进程运行时的文件句柄数量限制。--ulimit \u003C限制类型>=\u003C软限制>:\u003C硬限制>",[54,530,531],{"align":40},"如果默认限制太小，可能会出现 \"too many open files\" 的错误。所以在容器运行或系统服务启动时，需要调大这个值。--ulimit nofile=4096:65536",[35,533,534,537,540],{},[54,535,536],{"align":40},"-v /home/tungchiahui:/home/tungchiahui",[54,538,539],{"align":40},"挂载宿主机用户目录到容器内同名路径",[54,541,542],{"align":40},"实现宿主机与容器间文件共享（如代码、数据持久化）。",[35,544,545,548,551],{},[54,546,547],{"align":40},"-w /home/tungchiahui",[54,549,550],{"align":40},"设置容器启动后的默认工作目录",[54,552,553],{"align":40},"直接进入项目路径，方便执行命令2324。",[35,555,556,559,562],{},[54,557,558],{"align":40},"tungchiahui/ros-opencv:jazzy-411-cuda128-cudnn971-noble",[54,560,561],{"align":40},"镜像名称指定镜像及标签，包含：- ROS 2 Jazzy- OpenCV 4.11- CUDA 12.8- cuDNN 9.7.1",[54,563,564],{"align":40},"提供预配置的深度学习与机器人开发环境。",[14,566,567,568,572,573,576],{},"下方这条命令一定要在普通用户下运行，不要在root用户下运行，其实加不加",[569,570,571],"code",{},"sudo","加不加",[569,574,575],{},"sudo -E","都无所谓。",[14,578,579,580,582,583,585,586,589,590,592],{},"用户已经被加到docker组了，不用",[569,581,571],{},"也行跑，其次，",[569,584,571],{},"运行的话，你的",[569,587,588],{},"$HOME","变量也不会变，更何况加上-E的话，这样你的",[569,591,588],{},"更不可能变了。",[594,595,600],"pre",{"className":596,"code":597,"language":598,"meta":599,"style":599},"language-bash shiki shiki-themes github-light github-dark","sudo docker run --name=ros_opencv_cuda \\\n--gpus all \\\n-e NVIDIA_DRIVER_CAPABILITIES=all \\\n-e DISPLAY=$DISPLAY \\\n-dit \\\n--privileged \\\n--net=host \\\n--group-add audio \\\n--group-add video \\\n--group-add dialout \\\n-e XAUTHORITY=$HOME/.Xauthority \\\n-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \\\n-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \\\n-e QT_QPA_PLATFORM=xcb \\\n-v /tmp/.X11-unix:/tmp/.X11-unix:rw \\\n-v /dev/dri:/dev/dri \\\n-v $HOME/.Xauthority:$HOME/.Xauthority:ro \\\n-v /run/user/$(id -u)/wayland-0:/run/user/$(id -u)/wayland-0 \\\n-v /run/user/$(id -u):/run/user/$(id -u) \\\n-v $HOME:$HOME \\\n-w $HOME \\\ntungchiahui/ros-opencv:humble-411-cuda128-cudnn970-jammy\n","bash","",[569,601,602,624,636,647,661,669,677,685,696,706,716,731,744,757,767,778,788,804,840,869,882,890],{"__ignoreMap":599},[603,604,607,610,614,617,621],"span",{"class":605,"line":606},"line",1,[603,608,571],{"class":609},"sScJk",[603,611,613],{"class":612},"sZZnC"," docker",[603,615,616],{"class":612}," run",[603,618,620],{"class":619},"sj4cs"," --name=ros_opencv_cuda",[603,622,623],{"class":619}," \\\n",[603,625,627,631,634],{"class":605,"line":626},2,[603,628,630],{"class":629},"sVt8B","--gpus ",[603,632,633],{"class":612},"all",[603,635,623],{"class":619},[603,637,639,642,645],{"class":605,"line":638},3,[603,640,641],{"class":629},"-e ",[603,643,644],{"class":612},"NVIDIA_DRIVER_CAPABILITIES=all",[603,646,623],{"class":619},[603,648,650,652,655,658],{"class":605,"line":649},4,[603,651,641],{"class":629},[603,653,654],{"class":612},"DISPLAY=",[603,656,657],{"class":629},"$DISPLAY ",[603,659,660],{"class":619},"\\\n",[603,662,664,667],{"class":605,"line":663},5,[603,665,666],{"class":629},"-dit ",[603,668,660],{"class":619},[603,670,672,675],{"class":605,"line":671},6,[603,673,674],{"class":629},"--privileged ",[603,676,660],{"class":619},[603,678,680,683],{"class":605,"line":679},7,[603,681,682],{"class":629},"--net=host ",[603,684,660],{"class":619},[603,686,688,691,694],{"class":605,"line":687},8,[603,689,690],{"class":629},"--group-add ",[603,692,693],{"class":612},"audio",[603,695,623],{"class":619},[603,697,699,701,704],{"class":605,"line":698},9,[603,700,690],{"class":629},[603,702,703],{"class":612},"video",[603,705,623],{"class":619},[603,707,709,711,714],{"class":605,"line":708},10,[603,710,690],{"class":629},[603,712,713],{"class":612},"dialout",[603,715,623],{"class":619},[603,717,719,721,724,726,729],{"class":605,"line":718},11,[603,720,641],{"class":629},[603,722,723],{"class":612},"XAUTHORITY=",[603,725,588],{"class":629},[603,727,728],{"class":612},"/.Xauthority",[603,730,623],{"class":619},[603,732,734,736,739,742],{"class":605,"line":733},12,[603,735,641],{"class":629},[603,737,738],{"class":612},"WAYLAND_DISPLAY=",[603,740,741],{"class":629},"$WAYLAND_DISPLAY ",[603,743,660],{"class":619},[603,745,747,749,752,755],{"class":605,"line":746},13,[603,748,641],{"class":629},[603,750,751],{"class":612},"XDG_RUNTIME_DIR=",[603,753,754],{"class":629},"$XDG_RUNTIME_DIR ",[603,756,660],{"class":619},[603,758,760,762,765],{"class":605,"line":759},14,[603,761,641],{"class":629},[603,763,764],{"class":612},"QT_QPA_PLATFORM=xcb",[603,766,623],{"class":619},[603,768,770,773,776],{"class":605,"line":769},15,[603,771,772],{"class":629},"-v ",[603,774,775],{"class":612},"/tmp/.X11-unix:/tmp/.X11-unix:rw",[603,777,623],{"class":619},[603,779,781,783,786],{"class":605,"line":780},16,[603,782,772],{"class":629},[603,784,785],{"class":612},"/dev/dri:/dev/dri",[603,787,623],{"class":619},[603,789,791,794,797,799,802],{"class":605,"line":790},17,[603,792,793],{"class":629},"-v $HOME",[603,795,796],{"class":612},"/.Xauthority:",[603,798,588],{"class":629},[603,800,801],{"class":612},"/.Xauthority:ro",[603,803,623],{"class":619},[603,805,807,809,812,815,818,821,824,827,829,831,833,835,838],{"class":605,"line":806},18,[603,808,772],{"class":629},[603,810,811],{"class":612},"/run/user/",[603,813,814],{"class":629},"$(",[603,816,817],{"class":609},"id",[603,819,820],{"class":619}," -u",[603,822,823],{"class":629},")",[603,825,826],{"class":612},"/wayland-0:/run/user/",[603,828,814],{"class":629},[603,830,817],{"class":609},[603,832,820],{"class":619},[603,834,823],{"class":629},[603,836,837],{"class":612},"/wayland-0",[603,839,623],{"class":619},[603,841,843,845,847,849,851,853,855,858,860,862,864,867],{"class":605,"line":842},19,[603,844,772],{"class":629},[603,846,811],{"class":612},[603,848,814],{"class":629},[603,850,817],{"class":609},[603,852,820],{"class":619},[603,854,823],{"class":629},[603,856,857],{"class":612},":/run/user/",[603,859,814],{"class":629},[603,861,817],{"class":609},[603,863,820],{"class":619},[603,865,866],{"class":629},") ",[603,868,660],{"class":619},[603,870,872,874,877,880],{"class":605,"line":871},20,[603,873,793],{"class":629},[603,875,876],{"class":612},":",[603,878,879],{"class":629},"$HOME ",[603,881,660],{"class":619},[603,883,885,888],{"class":605,"line":884},21,[603,886,887],{"class":629},"-w $HOME ",[603,889,660],{"class":619},[603,891,893],{"class":605,"line":892},22,[603,894,895],{"class":629},"tungchiahui/ros-opencv:humble-411-cuda128-cudnn970-jammy\n",[14,897,898],{},"注意：",[900,901,902,911,914,917],"ol",{},[903,904,905,907,908,910],"li",{},[569,906,644],{}," ",[569,909,415],{},"没有英伟达显卡请注释。",[903,912,913],{},"--name后面请自己为容器起名。",[903,915,916],{},"最后一行仓库名称请你自己找对应的镜像填上。",[903,918,919,920,926],{},"ROS1在Fedora发行版下会爆内存，需要添加上下面这个参数，如果你不是Fedora和ROS1,",[921,922,923],"em",{},[380,924,925],{},"请不要加","。",[594,928,930],{"className":596,"code":929,"language":598,"meta":599,"style":599},"--ulimit nofile=1024:524288 \\\n",[569,931,932],{"__ignoreMap":599},[603,933,934,937,940],{"class":605,"line":606},[603,935,936],{"class":609},"--ulimit",[603,938,939],{"class":612}," nofile=1024:524288",[603,941,623],{"class":619},[900,943,944],{"start":663},[903,945,946,947,952],{},"如果想用当前用户登陆容器,可以加上下面这几条,但非常非常",[921,948,949],{},[380,950,951],{},"不建议","**.**",[594,954,956],{"className":596,"code":955,"language":598,"meta":599,"style":599},"--user $(id -u):$(id -g) \\\n-v /etc/passwd:/etc/passwd:ro \\\n-v /etc/group:/etc/group:ro \\\n",[569,957,958,985,994],{"__ignoreMap":599},[603,959,960,963,966,968,970,972,974,976,978,981,983],{"class":605,"line":606},[603,961,962],{"class":609},"--user",[603,964,965],{"class":629}," $(",[603,967,817],{"class":609},[603,969,820],{"class":619},[603,971,823],{"class":629},[603,973,876],{"class":612},[603,975,814],{"class":629},[603,977,817],{"class":609},[603,979,980],{"class":619}," -g",[603,982,866],{"class":629},[603,984,660],{"class":619},[603,986,987,989,992],{"class":605,"line":626},[603,988,772],{"class":629},[603,990,991],{"class":612},"/etc/passwd:/etc/passwd:ro",[603,993,623],{"class":619},[603,995,996,998,1001],{"class":605,"line":638},[603,997,772],{"class":629},[603,999,1000],{"class":612},"/etc/group:/etc/group:ro",[603,1002,623],{"class":619},[1004,1005,1006],"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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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);}",{"title":599,"searchDepth":626,"depth":626,"links":1008},[1009,1010],{"id":12,"depth":638,"text":12},{"id":24,"depth":638,"text":24},"6",6000000,"2024-10-03","2024-10-03-docker-jiao-cheng","/wiki/2024-10-03-docker-jiao-cheng","Docker教程","md",true,false,null,{},"/wiki/2024-10-03-docker-jiao-cheng/ch6-docker-ming-ling-xue-xi",{"title":5,"description":599},"wiki/2024-10-03-Docker教程/ch6-Docker命令学习","bHf4dVUtfKOxFm5cHaW-MvYj0cQX51gADu-5MG397yQ",[1027,1033,1039,1045,1051,1057,1063,1069,1070,1076,1082,1088],{"path":1028,"stem":1029,"title":1030,"date":1013,"chapter":1031,"chapterSort":1032,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch1-jian-jie","wiki/2024-10-03-Docker教程/ch1-简介","简介","1",1000000,{"path":1034,"stem":1035,"title":1036,"date":1013,"chapter":1037,"chapterSort":1038,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch10-1-kuai-su-da-kai-zhong-duan","wiki/2024-10-03-Docker教程/ch10-1-快速打开终端","Docker快速打开终端","10.1",10010000,{"path":1040,"stem":1041,"title":1042,"date":1013,"chapter":1043,"chapterSort":1044,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch10-docker-shi-yong-you-hua","wiki/2024-10-03-Docker教程/ch10-Docker使用优化","Docker使用优化","10",10000000,{"path":1046,"stem":1047,"title":1048,"date":1013,"chapter":1049,"chapterSort":1050,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch2-an-zhuang-docker","wiki/2024-10-03-Docker教程/ch2-安装Docker","安装Docker","2",2000000,{"path":1052,"stem":1053,"title":1054,"date":1013,"chapter":1055,"chapterSort":1056,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch3-docker-zhi-tong","wiki/2024-10-03-Docker教程/ch3-Docker直通","Docker直通","3",3000000,{"path":1058,"stem":1059,"title":1060,"date":1013,"chapter":1061,"chapterSort":1062,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch4-dockerhub-huan-yuan","wiki/2024-10-03-Docker教程/ch4-DockerHub换源","DockerHub换源","4",4000000,{"path":1064,"stem":1065,"title":1066,"date":1013,"chapter":1067,"chapterSort":1068,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch5-docker-rong-qi-li-de-cheng-xu-de-tu-xing-jie-mian-tan-bu-chu-lai","wiki/2024-10-03-Docker教程/ch5-docker容器里的程序的图形界面弹不出来","docker容器里的程序的图形界面弹不出来","5",5000000,{"path":1022,"stem":1024,"title":5,"date":1013,"chapter":1011,"chapterSort":1012,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},{"path":1071,"stem":1072,"title":1073,"date":1013,"chapter":1074,"chapterSort":1075,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch7-ge-zhong-docker-rong-qi-bu-shu","wiki/2024-10-03-Docker教程/ch7-各种Docker容器部署","各种Docker容器部署","7",7000000,{"path":1077,"stem":1078,"title":1079,"date":1013,"chapter":1080,"chapterSort":1081,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch8-shou-dong-chuang-jian-docker-jing-xiang","wiki/2024-10-03-Docker教程/ch8-手动创建Docker镜像","手动创建Docker镜像","8",8000000,{"path":1083,"stem":1084,"title":1085,"date":1013,"chapter":1086,"chapterSort":1087,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1019},"/wiki/2024-10-03-docker-jiao-cheng/ch9-vscode-yuan-cheng-kai-fa","wiki/2024-10-03-Docker教程/ch9-VScode远程开发","VScode远程开发","9",9000000,{"path":1015,"stem":1089,"title":1016,"date":1013,"chapter":1020,"chapterSort":1090,"docKey":1014,"docRoot":1015,"docTitle":1016,"isWikiDoc":1018,"isWikiIndex":1018},"wiki/2024-10-03-Docker教程/index",0,1778560328021]