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

Docker使用笔记

1. 创建镜像

1.1 从dockerhub上拉取

docker pull ****:***

1.2 保存镜像

docker save -o *.tar image:tag

1.3 从镜像文件中创建:

docker load < *.tar

1.4 更新镜像:

docker commit containerid image:tag

2. 创建容器

2.1 英伟达GPU下:

docker run --gpus '"device=0"' --net=host -it -v /:/mnt --shm-size=12g --memory-swap=-1 --name=containername image:tag bash

-v:挂载路径,宿主机路径:容器路径

--net:网络端口映射,=host表示容器网络和宿主机完全联通。

-u: 用户权限,设置root表示该镜像用户权限为root用户,防止镜像中权限限制。

注意:谨慎使用docker exec进入容器保存文件。

使用docker exec -it ID bash进入容器时保存文件一定不要保存文件在容器环境中,否则退出时文件会消失。

2.2 昇腾NPU下:

Atlas800T A2服务器:npu 为Ascend910B3(8*64GB)

docker run -it --net=host \ -v /home/jiao/train_example/:/home/yolo/ \ --name=yolov11n \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/hisi_hdc \ --device=/dev/devmm_svm \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/sbin:/usr/local/sbin \ -v /etc/hccn.conf:/etc/hccn.conf \ yolov11-train:v1 \ /bin/bash

3. Dockerfile创建

FROM python:3.10-slim WORKDIR /app # 安装系统依赖 RUN apt-get update && apt-get install -y \ gcc \ g++ \ && rm -rf /var/lib/apt/lists/* # 设置环境变量 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV TZ=Asia/Shanghai ENV PYTHONPATH=/app ENV WORKING_DIR=/app/workspace # 复制项目核心文件/文件夹 COPY apps/api /app/apps/api COPY core /app/core # 默认启动命令 CMD ["python", "main.py"]

4. docker-compose创建

services: ppt_backend: image: ppt_assistant:v1 //依赖的镜像 container_name: ppt_backend //创建容器名称 volumes: //路径映射 - ./ppt-assistant/workspace:/app/workspace - ./ppt-assistant/apps/api:/app/apps/api - ./ppt-assistant/core:/app/core - ./ppt-assistant/config:/app/config privileged: true network_mode: "host" working_dir: /app command: uvicorn apps.api.main:app --reload --host 0.0.0.0 --port 6000 ppt_celery: image: ppt_assistant:v1 container_name: ppt_celery volumes: - ./ppt-assistant/workspace:/app/workspace - ./ppt-assistant/apps/api:/app/apps/api - ./ppt-assistant/core:/app/core - ./ppt-assistant/config:/app/config privileged: true network_mode: "host" working_dir: /app command: celery -A apps.api.celery_app worker --loglevel=info --concurrency=2 --pool=solo -Q celery,template_analysis,ppt_generation networks: ppt-net: driver: bridge

5.加速拉取

docker pull nvidia/cuda:12.2.2-devel-ubuntu20.04 ##加速版: docker pull hub.1panel.dev/nvidia/cuda:12.2.2-devel-ubuntu20.04

配置镜像加速器:

tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerproxy.com", "https://docker.nju.edu.cn", "https://mirror.baidubce.com" ] } EOF

重启服务:

systemctl daemon-reload systemctl restart docker

有时加速源太多会拖慢速度导致超时,这时要减少配置留下两个即可:

tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://docker.nju.edu.cn" ] } EOF
http://www.jsqmd.com/news/1328595/

相关文章:

  • Bulk批量操作API的介绍
  • 界面组件DevExpress WinForms v23.2新功能预览 - 增强MVVM相关功能
  • 【图像识别】基于模板匹配实现花朵分类matlab代码
  • 如何让Windows任务栏变成你的私人股票行情看板?
  • 大语言模型LLM
  • 2026全域GEO运营软件推荐:Aionclaw在内主流AI工具综合测评与场景选型指南
  • OFD 转 PDF 用哪个工具方便?2026 年好用的转换方案盘点 - 办公小帮手
  • 【微软商店(Microsoft Store)重置后打不开,商店下载不了应用的解决方法】
  • KCN-GenshinServer终极指南:5分钟搭建原神私服的完整解决方案
  • 【面向对象】面向对象设计原则:SOLID五大原则
  • MFC扩展库BCGControlBar Pro v33.6亮点 - 流程图、Ribbon Bar功能升级
  • ElasticSearch获取多个文档Multi GET API介绍
  • UE5 C++大型项目命名规范实战:从代码到资源的全生命周期协作指南
  • 3分钟解决所有DLL缺失问题:VisualCppRedist AIO一键修复系统组件
  • 界面组件DevExpress WinForms v23.1 - TreeList、UI模板全新升级
  • Rekognition 实战踩坑:OCR 精度 98% 但人脸分析 API 调用费让我连夜改方案
  • 湖南岳阳市家长参考!青春期叛逆青少年成长干预基地整理汇总,2026 择校参考 - Luckyone王
  • 编辑器中间插入压测:顺序表与间隙缓冲区的移动账单
  • Unity资源加载优化全攻略:从异步加载到Addressables实战
  • 2026网安稀缺能力:业务漏洞挖掘完整学习路线(竞争最小、分值最高、最容易出成果)
  • 2026年AI GEO工具推荐:生成引擎优化从业者实用工具选型完整指南
  • 免费硬件监控神器:LibreHardwareMonitor让电脑健康一目了然
  • 酒吧挂账管理:手动操作与收银软件流程对比
  • 【AI差分隐私技术实战指南】:20年专家亲授5大落地陷阱与3步合规部署法
  • Cadence学习
  • ExifToolGUI终极指南:免费高效的图片元数据批量管理完整解决方案
  • VS2022+QT5.15.2进行CAN通讯的上位机开发(3)
  • ElasticSearch倒排索引
  • 辽宁铸铝门用三年了,真的不锈吗?
  • C语言准大一开始之旅!!!