医院版档案管理系统实操搭建:从环境配置到部署全流程指南
一、前置环境准备
仅适用于Ubuntu 20.04+系统,其他Linux发行版可替换对应命令,Windows/Mac可安装Docker Desktop后跳过步骤1,直接执行Docker命令。
1.1 安装Docker与Docker Compose
执行以下命令安装必备工具:
```bash sudo apt update && sudo apt install docker.io docker-compose -y sudo systemctl start docker sudo systemctl enable docker ```必须执行权限配置,避免后续命令需加sudo:
```bash sudo usermod -aG docker $USER ```配置后需登出系统再重新登录,使权限生效。
二、系统部署实操步骤
2.1 编写docker-compose.yml配置文件
在任意目录新建文件,命名为docker-compose.yml,复制以下完整内容(注意YAML缩进为2空格,禁止用Tab):
```yaml version: '3.8' services: archives-web: image: hospital-manage/archives:v1.2 ports: - "8080:8080" environment: - DB_HOST=archives-db - DB_USER=hospital_admin - DB_PASS=Hospital@2024 - DB_NAME=hospital_archive depends_on: - archives-db volumes: - ./uploads:/app/uploads archives-db: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=HospitalRoot@2024 - MYSQL_DATABASE=hospital_archive - MYSQL_USER=hospital_admin - MYSQL_PASSWORD=Hospital@2024 volumes: - ./db-data:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql ```2.2 启动系统容器
进入docker-compose.yml所在目录,执行启动命令:
```bash docker-compose up -d ```验证启动状态:执行docker ps,需看到archives-web和archives-db两个容器,状态为Up,且端口8080处于监听。
本地访问地址为http://localhost:8080,服务器访问地址为http://你的服务器IP:8080。
三、医院专属数据库初始化
3.1 创建初始化脚本
在docker-compose.yml同目录新建init.sql文件,复制以下内容(定义医院通用科室与档案表结构):
```sql CREATE TABLE IF NOT EXISTS departments ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL UNIQUE, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS patient_archives ( id INT AUTO_INCREMENT PRIMARY KEY, patient_id VARCHAR(20) NOT NULL UNIQUE, name VARCHAR(20) NOT NULL, gender ENUM('男','女','其他') NOT NULL, department_id INT NOT NULL, visit_date DATE NOT NULL, diagnosis TEXT, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (department_id) REFERENCES departments(id) ); INSERT INTO departments (name) VALUES ('内科'),('外科'),('妇产科'),('儿科'),('急诊科'); ```3.2 执行初始化

执行以下命令,将脚本导入数据库:
```bash docker exec -it archives-db mysql -uhospital_admin -pHospital@2024 hospital_archive < ./init.sql ```执行成功无提示,可通过登录系统查看科室列表确认。
四、系统基础配置
4.1 管理员账号修改
打开系统地址,输入默认账号admin,密码Admin@2024登录,必须立即修改默认密码,设置为10位以上含大小写、数字、特殊字符的密码,避免安全风险。
4.2 档案字段自定义
进入「设置-档案字段」模块,根据医院需求添加必填字段,例如「医保号」「主治医师」「就诊卡号」,设置为非空后保存,后续录入档案时会强制填写。
4.3 权限分组配置
进入「用户管理-权限分组」,创建「医生」「护士」「管理员」分组,分配对应权限:医生仅可查看本科室档案,护士仅可录入档案,管理员拥有全系统操作权限。
五、数据导入与自动备份
5.1 批量导入患者档案
进入「数据管理-批量导入」模块,下载CSV模板,表头为patient_id,name,gender,department,visit_date,diagnosis,填写数据时需对应科室名称(如「内科」),保存为UTF-8格式的CSV文件后上传,确认字段映射后点击「导入」,导入前请导出当前数据备份。
5.2 配置自动备份
修改docker-compose.yml,新增backup服务段,完整内容如下:
```yaml backup: image: sameersbn/mysql-backup:latest environment: - DB_USER=hospital_admin - DB_PASS=Hospital@2024 - DB_HOST=archives-db - DB_NAME=hospital_archive - SCHEDULE=0 2 volumes: - /opt/hospital-backup:/backup depends_on: - archives-db ```保存后执行重载命令:docker-compose up -d,备份文件每天凌晨2点生成,存于/opt/hospital-backup目录,可定期复制到外置存储。
六、常见问题排查
6.1 容器启动失败
执行docker logs archives查找错误关键词,若出现port already occupied,说明8080端口被占用,修改docker-compose.yml中archives-web的端口为"8081:8080",重启服务:docker-compose restart。
6.2 数据库连接失败
执行docker network ls确认存在archive-network,若两个容器不在该网络,执行: