个人学习笔记,错了可以指出来,在一知半解边查边用边写ing
docker的用途
略,以后补
docker的安装
略,以后补
docker的体验
- 环境统一,提前准备好,防止其他干扰,以前部署的时候,最难过的就是一直在和环境作斗争,部署3天,2天半在弄环境
- 每个项目互不干扰,各配各的,毕竟一个服务器配了多个项目,容易互相打架,天知道哪天改了个配置把其他的项目蹦了
常用功能代码
查看
# 查看正在运行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 只看容器 ID
docker ps -q
返回数据名词解析
# 然后收到这样的消息
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b2b9aec4ff35 docker.1ms.run/ollama/ollama:0.13.3 "/bin/ollama serve" 6 weeks ago Up 6 weeks 0.0.0.0:11430->11434/tcp, [::]:11430->11434/tcp ollama0
列名 含义
CONTAINER ID 容器唯一 ID(随机生成)
IMAGE 这个容器用的镜像(相当于安装包)
COMMAND 容器启动时执行的命令
CREATED 什么时候创建的
STATUS 现在状态:Up = 正在运行
PORTS 端口映射(最重要!)
NAMES 容器名字(你自己起的)
主机端口 → 容器内部端口
0.0.0.0:11430 -> 11434
查看 ollama0 这个容器的完整、详细、底层信息
# 查看 ollama0 这个容器的完整、详细、底层信息
docker inspect ollama0
# 输出的JSON里面找到下面这一段,source是实际存储
"Mounts": [
{
"Type": "bind",
"Source": "/host/path/to/ollama/models", // 宿主机(Linux)上的模型存储路径
"Destination": "/root/.ollama/models", // 容器内的模型存储路径
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
启停容器
# 停止容器(用名字或 ID)
docker stop ollama0
# 启动已停止的容器
docker start ollama0
# 重启容器
docker restart ollama0
# 停止所有正在运行的容器
docker stop $(docker ps -q)
删除容器
# 删除已停止的容器
docker rm ollama0
# 强制删除运行中的容器(慎用)
docker rm -f ollama0
# 删除所有停止的容器
docker container prune
查看镜像(你下载的模板)
# 查看本地所有镜像
docker images
# 删除镜像(先删用它的容器,再删镜像)
docker rmi nginx
查看日志(排查问题必备)
# 查看 ollama0 日志
docker logs ollama0
# 实时刷新查看(像 tail -f)
docker logs -f ollama0
入容器内部
# 进入容器内部
docker exec -it ollama0 /bin/bash
拉取镜像(下载软件)
# 下载 Nginx
docker pull nginx
# 下载 Ollama
docker pull ollama/ollama
运行一个新容器(举例子)
# 运行一个 nginx,端口 8080
docker run -d -p 8080:80 --name mynginx nginx
-d 后台运行
-p 8080:80 端口映射
--name mynginx 起名字
清理不用的东西(释放空间)
# 清理所有停止的容器、无用镜像、缓存
docker system prune
环境最常用的组合命令
# 看所有 ollama 容器
docker ps | grep ollama
# 停止所有 ollama
docker stop $(docker ps | grep ollama | awk '{print $1}')
# 查看 nginx 日志
docker logs nginx0