Docker 个人案例记录
这页专门放我自己的命令片段和场景记录。它们未必适合直接复制到别的环境里,但保留在这里比混在主线教程里更合适。
Ollama 容器示例
把容器 11434 端口映射到宿主机 8080,并启用 GPU:
docker run -d \
--gpus all \
-v ollama:/root/.ollama \
-p 8080:11434 \
--name ollama_new \
ollama/ollama
这个命令的重点是:
- GPU 直通:
--gpus all - 数据持久化:
-v ollama:/root/.ollama - 端口映射:
-p 8080:11434
手工配置容器后做快照
某些场景下,我会先在容器里手动把环境调到能用,再临时保存成镜像:
docker commit ubuntu_llama_factory ubuntu_base:latest
docker save -o ubuntu_base.tar ubuntu_base:latest
在别的机器导入:
docker load --input /path/to/your/image.tar
这类做法更偏临时方案。后面如果这个环境要长期保留,还是应该回到 Dockerfile。
把本地文件复制进正在运行的容器
docker cp /root/llama_factory.zip singularity_llama_factory:/miniconda3/envs
这个命令适合一次性投递文件,不适合作为长期同步机制。
再次进入容器
docker ps
docker exec -it container_id_or_name bash
如果镜像里没有 bash:
docker exec -it container_id_or_name sh
Ubuntu 基础环境里我常装的一批工具
apt-get update
apt-get install -y \
vim \
git \
build-essential \
wget \
net-tools \
sudo
某些偏编译或容器工具链的环境里,我还会补这一批依赖:
sudo apt-get update && sudo apt-get install -y \
build-essential \
libssl-dev \
uuid-dev \
libgpgme11-dev \
squashfs-tools \
libseccomp-dev \
wget \
pkg-config \
git \
cryptsetup-bin
这页的使用原则
- 这里允许出现特定容器名、项目名、路径名
- 主线页面只保留通用方案
- 如果某个个人案例后来变成稳定模式,再考虑抽回主线文档