多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Docker使用笔记

Docker使用笔记 1. 创建镜像1.1 从dockerhub上拉取docker pull ****:***1.2 保存镜像docker save -o *.tar image:tag1.3 从镜像文件中创建docker load *.tar1.4 更新镜像docker commit containerid image:tag2. 创建容器2.1 英伟达GPU下docker run --gpus device0 --nethost -it -v /:/mnt --shm-size12g --memory-swap-1 --namecontainername 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 --nethost \ -v /home/jiao/train_example/:/home/yolo/ \ --nameyolov11n \ --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/bash3. 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 PYTHONDONTWRITEBYTECODE1 ENV PYTHONUNBUFFERED1 ENV TZAsia/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 --loglevelinfo --concurrency2 --poolsolo -Q celery,template_analysis,ppt_generation networks: ppt-net: driver: bridge5.加速拉取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
返回列表