当前位置: 首页 > news >正文

Docker操作速查表

Docker CheatSheet

1. 在已经有Dockerfile的文件夹下构建镜像

docker built -t <容器名>:<版本> . # .代表从当前目录找dockerfile

2. 构建好镜像之后,根据它启动一个新容器

2.1 场景1:在后台启动容器,然后进入bash交互界面

如果你希望容器在后台持续运行,并且随时可以进入它,这是更常用的方法。

首先我们启动容器:

docker run -d <镜像名称> --name <自己起一个容器的名字>
  • -d (detach):让容器在后台运行,不占用你的命令行窗口。

然后你还能在run之后加以下参数实现一些别的效果:

  • –shm-size 指定你要给容器共享多少内存,在深度学习任务时会用到
  • –gpus all 给容器开放主机所有gpu的权限,也是深度学习的时候会用到

以下是一个深度学习的例子

docker run --gpus all --shm-size=8g -d -v C:\Users\lance\Desktop\WASB-SBDT\src:/root/src --name wasb-container wasb:1.0 tail -f /dev/null

接着使用docker exec进入容器

docker exec -it <你刚才起的容器名字> bash

优点:容器在后台持续运行,即使你退出shell也不会停止。

2.2 场景二:把电脑上的文件夹映射到容器中

如果你想让容器能够访问你电脑上的文件,需要在启动容器时使用 -v 参数。

命令语法:

docker run -v <宿主机路径>:<容器内部路径> <镜像名称>

结合场景1的例子就是这么搞:

# 第1步:启动容器,并进行目录映射
docker run --gpus all --shm-size=8g -d -v C:\Users\lance\Desktop\WASB-SBDT\src:/root/src --name wasb-container wasb:1.0 tail -f /dev/null# 第2步:进入容器内部的bash
docker exec -it wasb-container bash

3. 想重新构建一次容器

有可能你把dockerfile改了,然后你想重新构建一次iamge来更新更改,你就得这么做:

  1. 停止当前container
docker stop <你的容器名字>
  1. 删除当前container
docker rm <你的容器名字>
  1. 重新build镜像
docker built -t <容器名>:<版本> .
http://www.lryc.cn/news/627163.html

相关文章:

  • 海量数据测试指南与实战
  • Advanced Math Math Analysis |01 Limits, Continuous
  • C++/Qt开发:TCP通信连接软件测试方法:ECHO指令
  • PyTorch API 5
  • CorrectNav——基于VLM构建带“自我纠正飞轮”的VLN:通过「视觉输入和语言指令」预测导航动作,且从动作和感知层面生成自我修正数据
  • CoreShop微信小程序商城框架开启多租户-添加一个WPF客户端以便进行本地操作(5)
  • 当 AI 开始 “理解” 情绪:情感计算如何重塑人机交互的边界
  • 基于单片机环境火灾安全检测
  • NVIDIA Isaac Sim
  • 48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
  • VR交通安全学习机-VR交通普法体验馆方案
  • 2026 济南淀粉深加工展览会亮点:玉米科技与未来产业发展
  • IPSEC安全基础
  • C++智能指针详解:告别内存泄漏,拥抱安全高效
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • AI重塑软件测试:质量保障的下一站
  • MySQL分库分表与MyCAT
  • PiscCode集成Hand Landmarker:实现高精度手部姿态检测与分析
  • C语言:第18天笔记
  • Google Chrome扩展不受信任 - 不受支持的清单版本 解决方案 -- Chrome扩展插件无法加载 扩展程序无法使用 解决方案
  • PiscCode使用MediaPipe Face Landmarker实现实时人脸特征点检测
  • vue3 el-select 默认选中第一个
  • 基础笔记8.20
  • 8.20网络编程——sqlite3数据库
  • lua入门以及在Redis中的应用
  • 技术干货|使用Prometheus+Grafana监控redis实例详解
  • 自学嵌入式第二十三天:数据结构(3)-双链表
  • Java 性能优化实战(二):JVM 调优的 5 个核心维度
  • c#入门笔记(3)
  • Netty HashedWheelTimer设计原理:从时间轮算法到源码实现