# dockerfile_sample **Repository Path**: wlf-darkmatter/dockerfile_sample ## Basic Information - **Project Name**: dockerfile_sample - **Description**: dockerfile 示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-19 - **Last Updated**: 2025-07-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker 镜像 ## 镜像依赖 2023年 12月 15日,重新更改了镜像的依赖关系和构建方式,删除了 cuda_conda 生成的镜像 新 ```mermaid flowchart TD; subgraph Ubuntu Origin[$ubuntu]==>Base[base_ubuntu:zh] Base-->base_python([base_python:**]) Base-->base_conda[base_conda:**] end subgraph CUDA Origin_cuda[cudnn_devel_cuda] Origin_cuda ==>Base_cuda* Base_cuda-->Base_cuda*[cudnn_devel_cuda:**] Base-->Base_cuda[cudnn_devel_cuda:base] end subgraph lib Base-->Base_compile[base_compile:**] Origin_cuda ==> Lib_opencv[lib_opencv:**] Base_compile --> Lib_torch Base_compile --> Lib_opencv[lib_opencv:**] end subgraph Pytorch Base_cuda*-->Cuda_python*([cuda_python:**]) Cuda_python*-->Cuda_pytorch*[cuda_pytorch:**] Cuda_python*-->Cuda_pytorch2*[cuda_pytorch2:**] Origin_cuda ==> Lib_torch[lib_torch:**] end ``` 旧 ```mermaid graph TD; Origin[ubuntu*]--apt-->Base[base_ubuntu]; Origin_cuda[cudnn_devel_cuda*]--apt-->Base_cuda[cudnn_devel_cuda]; Base-->base_python; Base-->base_conda; Base_cuda-->cuda_conda; cuda_conda-->cuda_conda_pytorch; Base_cuda-->cuda_python; cuda_python-->cuda_pytorch; ``` ## 命名 1. Dockerfile 所在的文件夹名称决定了镜像的**name** 2. Dockerfile 文件名小数点后的内容决定了镜像的**tag**(``只能有一个小数点 ``) 3. **name**和**tag**组成**server_name** ## 自动生成 `docker-compose.yaml`是自动生成的,并不是手动编辑的,将按照一定规范的命名的 `Dockerfile`存放在按照规范命名的文件夹中,即可自动生成 生成命令为 ```bash python ./auto_gen_dockercp.py ``` > 生成脚本目前无法判断引用依赖关系(之后应当通过识别 `Dockerfile`文件的第一行来判断) > > 因此如果添加了额外的镜像项目,则需要手动在代码中修改 `tree` 关系图 # 拉取镜像技巧 ## skopeo 拉取 ```bash skopeo copy \ docker://docker.xuanyuan.me/nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 \ docker-daemon:nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 \ --insecure-policy ```