Part-DB——开源器件管理工具使用指南 | 木戈手机站

木戈手机站

当前位置: 首页 » 攻略 » Part-DB——开源器件管理工具使用指南

Part-DB——开源器件管理工具使用指南

Part-DB是一个开源的器件管理工具,可用于管理个人的电子器材。本文将介绍如何安装和使用Part-DB,并分享在使用过程中遇到的一些bug以及解决方法。

最近,笔者使用Part-DB管理个人电子器材,并尝试在闲置的赛昉·星光2开发板上进行相关操作。如果操作失败,笔者计划使用树莓派进行替代。

1. 安装

首先,按照官方安装指南进行安装。笔者也是参考了官方指南进行安装。

(1) 安装docker和docker-compose

根据网上的安装教程进行安装,这一步比较简单,不再赘述。

(2) 在ubunut创建所需要的目录文件

创建所需的目录和文件:

# 创建所需要的目录
mkdir Part-DB 
cd Part-DB 					  
mkdir db public_media uploads 
touch docker-compose.yaml     # 这是配置文件

(3) 编辑 docker-compose.yaml

根据官网示例进行编辑:

version: '3.3'
services:
  partdb:
    container_name: partdb
    # 默认情况下,Part-DB将在端口8080下运行,可以在这里进行更改
    ports:
      - '8080:80' 
    volumes:
      # 这里是关于docker挂载的文件
      - ./uploads:/var/www/html/uploads
      - ./public_media:/var/www/html/public/media
      - ./db:/var/www/html/var/db
    restart: unless-stopped
    image: jbtronics/part-db1:1.11  # <-----这是重要的位置
    environment:
      # 将SQLite数据库放在我们映射的文件夹中。您也可以在这里配置其他类型的数据库。
      - DATABASE_URL=sqlite:///%kernel.project_dir%/var/db/app.db
      # 在docker环境中,日志将重定向到stderr
      - APP_ENV=docker
      ...

注意:”image: jbtronics/part-db1:1.11 “这个参数很重要,它会检查本地是否存在镜像。

(4) 使用docker命令进行构建

docker-compose up -d

(5) 初始化数据库

# 进入容器
docker exec -it --user=www-data partdb /bin/bash
# 在容器内执行
php bin/console doctrine:migrations:migrate  # 这个可以执行多次,初始化之后会提示初始化完成

(6) 输出结果

等待输出密码后退出容器,控制台会输出一个高亮的代码,即是待会登录的用户名和密码。之后,在浏览器中访问http://localhost:8080即可:

[warning] The initial password for the "admin" user is: xxxxxxxxxx # xxxxxxxxxx 这个就是密码

(7) 网页结果

在网页中创建了两个类别,以便在将来移植到另一个虚拟机时进行对比。

2. docker数据迁移

(1)docker容器导出

在导出容器之前,需要先commit成一个新的镜像,保存之前的修改。然后进行导出操作:

sudo docker commit -p -a "qm1412" -m "my first" ae8051601c61  mypartdb:v1 
sudo docker save mypartdb:v1 > myimage.tar    // 直接打包成镜像(全部数据)

注意:要将整个part-db文件一起打包出去,因为其中的db文件夹存放着数据库文件。

(2)docker容器导入

将压缩包导入新环境中,执行以下命令:

sudo docker load < myimage.tar  # 导入镜像
sudo docker images				# 查看镜像

(3)part-db运行

在新环境中运行已保存的part-db:

  • 编辑docker-compose.yaml

修改docker-compose.yaml中的image参数为新导入的镜像。

touch docker-compose.yaml     # 这是配置文件
# image: mypartdb:v1 		  # 这个一定要修改,不然不会执行成功的

  • 启动容器

使用docker-compose启动容器:

sudo docker-compose up -d

然后控制台会显示part-db容器创建成功,使用docker ps命令查看。

# 进入容器
docker exec -it --user=www-data partdb /bin/bash
# 在容器内执行
php bin/console doctrine:migrations:migrate  # 这个你可以多次执行,反正初始化之后就会弹出你已经初始化完成了

最后查看结果,在浏览器中访问http://localhost:8080。

成功将容器进行转移,数据不会丢失。

3. 一些bug

  • 如果docker启动了,但是无法访问网页,可以选择重启docker服务。
systemctl restart docker
  • 出现”ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket – is it running?”问题时,可以在命令前加上sudo。

大部分情况下是权限问题导致的。

猜你喜欢
本类排行