docker打包全流程及小技巧
自启动docker环境打包全流程
1.去cuda官网或者镜像网站下载cuda,复制docker pull命令回来运行即可。
官网:https://hub.docker.com/r/nvidia/cuda/tags?page=2&name=11.3
国内镜像网站:docker.io/nvidia/cuda 项目中国可用镜像列表 | 高速可靠的 Docker 镜像资源
一般选择devel版本。
输入docker images 查看所有镜像

2.找到对应remote_detect_hf,启动容器
作用于已启动的正在运行的容器:
1 | docker exec -it 容器id /bin/bash |
创建并启动一个全新的容器:
1 | docker run -p 7896:7896 -it --gpus all original_dk:1.0 /bin/bashdocker exec -it 容器id /bin/bash |

然后进行环境的安装。以python环境为例:
(1)apt upgrade
(2)apt安装python3,pip
(3)在pytorch官网上寻找对应版本,安装torch,例如:
1 | pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118 |
检查torch安装是否成功:
1 | import torch |
(4)pip安装程序所需环境
3.(用docker ps -a查看容器的id)将你需要的文件复制到对应文件夹(例如 \app )中:
1 | docker cp /path/on/host original_dk:/app |
(original_dk要改成容器的id)
4.可以测试一下(比如运行test.py)能不能执行
5.退出容器,导出刚刚打包好的容器
1 | docker commit eda05 original_dk:1.1 (把eda05改成容器id) |
6.打开dockerfile(包含自启动命令)文件进行修改,在dockerfile中把original_dk:1.1改为修改好的容器。dockerfile内容如下:
1 | FROM original_dk:1.1 |
7.进入dockerfile所在目录
1 | cd ./dockerfile |
8.执行docker build -t final_dk:1.0 . (注意最后有个点)
9.导出完输入docker images看看有没有创建成功
10.测试:
1 | docker run -p 7896:7896 -d --gpus all final_dk:1.0 |
查看网页:http://localhost:7896/docs
11.打包输出:
1 | docker save 0fdf > final_dk.tar (0fdf改为镜像的id) |
使用时,加载压缩包:
1 | docker load < final_dk.tar |
修改tag:
1 | docker tag 镜像id final_dk:1.0 |
docker使用技巧
离开但不停止镜像:Ctrl+p(不松手)再按q
停止、删除镜像:
1 | docker stop/rm 镜像id |
删除容器:
1 | docker rmi 容器id |
已经exited的镜像再次开启:
1 | docker start 镜像id |


