Docker组成knex脚本错误
我的docker合成文件看起来像:
version: '2' services: web: build: context: . image: myimage environment: - AWS_REGION=region - NODE_ENV=development command: bash -c "sleep 10 && npm run knex migrate:latest --knexfile src/knexfile.js" depends_on: - db db: image: mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=root - MYSQL_PASSWORD=root - MYSQL_DATABASE=mydb volumes: - /var/lib
这个想法是,当我做一个docker组成 – 它组成了一个mysql,并做了链接,我的要求是,当myImage旋转起来,有一些我想要执行的移植。 试过2种方法:
- 如上所示在泊坞窗撰写文件中添加命令。
- 如果没有命令,旋转容器,然后打开容器,然后运行knex migrate命令。
应用程序镜像在包json文件中对knex有依赖性,我也可以在节点模块目录中看到knex模块。
然而,在任何情况下,我得到一个错误的缺lessknex脚本:
npm ERR! missing script: knex
以上任何build议都非常感谢。
运行它时,你的package.json中的目录是否正确?
npm run missing-script
给出错误npm ERR! missing script: missing-script
npm ERR! missing script: missing-script
,如果脚本不存在。
你的package.json中有knex脚本吗?
scripts: { knex: "knex" }
在尝试运行迁移之前是否运行npm install
?
可能不是这个,但是如果在package.json中findknex
脚本,可能是必须的
您可能需要添加 – 为了能够传递参数到npm运行脚本
npm run knex -- migrate:latest --knexfile src/knexfile.js