完成ENGINEERING NOTE
部署备忘录
记录入职后的真实部署流程:从 Ansible 打包方案切换回 Docker Compose,到甲方现场加载镜像、启动服务、排查目录和环境问题。
2025.5.22周四 入职公司,要求将现有的Docker-compose部署方式换成Ansible方式。周四到周五完成了Ansible的打包,但是后来又要求使用Docker部署。 2025.5.26周一 熟悉了Docker、Docker-compose和Linux的相关命令,在公司环境下实际操作了一遍部署流程。 2025.5.27周二 实际去甲方公司部署。全程没有敲过命令,甲方公司的人完成了整个部署流程……甲方找到了不少bug,提出了一些新的需求,这是下一阶段的工作任务。
不知道是幸运还是不幸,总之整个流程没我什么事情。
实际部署流程(可能)
tar -xf bz2.tar.gz # 解压文件
cd bz2 # 进入bz2
docker load < bz2-base.tar # 加载本地镜像
docker-compose up -d # 启动docker compose服务
关于llm目录
这个是用来更改甲方公司原有模型的docker服务的,需要注意甲方公司的模型需要放在
/mnt/HDD/model/qwen3-14b/model.bin
下。需要使用docker-compose ps查找原来的服务并关闭,然后重新启动这个新的服务。
关于external目录
如果甲方给出了新的文件,需要将这个文件夹里原来的文件替换掉。 可能需要现场改,可能需要使用Vim。
磁盘挂载
可能需要先取消ubuntu自动的磁盘挂载。 外部设备必须挂载在根目录下的/mnt文件夹下。
- 挂载流程
sudo fdisk -l # 列出磁盘列表
sudo lsblk # 列出磁盘具体分区
sudo mkdir /mnt/mydev # 在/mnt下创建挂载点
sudo mount /dev/sdc1 /mnt/mydev # 将磁盘挂载到/mnt下的挂载点下
sudo df -h # 查看是否挂载成功
sudo umount /mnt/mydev # 取消挂载(弹出设备)
- 进程清理
sudo lsof +D /mnt/mydev # 查看占用挂载点的进程
sudo fuser -mf /mnt/mydev # 终止这些进程
Docker
镜像相关
docker images # 查看本地镜像
docker pull image_name[:tag] # 拉取镜像
docker build -t image_name . # 从dockerfile构建镜像
docker build -f /path/to/dockerfile -t image_name .
docker rmi image_name # 删除镜像
docker load < app.tar # 从本机加载镜像
docker save -o filename.tar imagename:base # 保存镜像
容器操作
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器
docker run -d 8088:80 image_name # 后台运行容器并映射端口
docker run -it image_name /bin/bash # 前台运行容器并交互式运行
docker stop container_id # 停止容器
docker start container_id # 启动容器
docker rm container_id # 移除容器
docker exec -it container_id /bin/bash # 进入运行中的容器
日志
docker logs container_id # 查看容器内部日志
权限处理
sudo usermod -aG docker $USER # 将当前用户加入docker组
newgrp docker # 应用组更改
Docker-Compose
docker-compose up # 前台启动
docker-compose up -d # 后台启动
docker-compose down # 停止并清理容器、网络
docker-compose restart # 重启容器
docker-compose ps # 列出所有服务
docker-compose logs # 查看所有服务日志
docker-compose exec service_name bash # 进入某个服务
权限相关
- 查看权限
ls -l
- 修改权限
chmod 权限 文件/目录
| 符号 | 含义 | 符号 | 含义 |
| u | user | w | 写 |
| g | group | r | 读 |
| o | other | x | 执行 |
| a | all |
基本命令
文件和目录
touch a.txt # 创建新文件
mkdir dir # 创建目录
mkdir -p /a/b/c # 递归创建目录
复制和移动
cp a.txt b.txt # 复制
mv a.txt b.txt # 重命名
mv a.txt /dir/ # 移动
查看内容
cat a.txt # 查看文件内容
解压与压缩
tar -xf filename.tar.gz # 解压
tar -cf filename.tar.gz filedir/ # 压缩
辅助命令
pwd # 查看当前路径
cd # 切换