Docker -составить ошибочные сценарии реакции: не найдено npm ERR! код ELIFECYCLE - PullRequest
0 голосов
/ 13 июля 2020

Это ошибка, из-за которой я набираю команду docker-compose up. Это мое приложение node.js, и я использую MongoDB. Моя цель - поместить это приложение в контейнер и опубликовать sh на docker хабе.

1.  Creating mongo ... done
2.  Creating app   ... done
3.  Attaching to mongo, app
4.  mongo    | 2020-07-13T05:02:33.356+0000 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
5.  mongo    | 2020-07-13T05:02:33.360+0000 W  ASIO     [main] No TransportLayer configured during NetworkInterface startup
6.  mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=03ce29ac0ecc
7.  mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] db version v4.2.8
8.  mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] git version: 43d25964249164d76d5e04dd6cf38f6111e21f5f
9.  mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
10. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] allocator: tcmalloc
11. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] modules: none
12. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] build environment:
13. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten]     distmod: ubuntu1804
14. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten]     distarch: x86_64
15. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten]     target_arch: x86_64
16. mongo    | 2020-07-13T05:02:33.360+0000 I  CONTROL  [initandlisten] options: { net: { bindIp: "*" } }
17. mongo    | 2020-07-13T05:02:33.361+0000 I  STORAGE  [initandlisten]
18. mongo    | 2020-07-13T05:02:33.361+0000 I  STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
19. mongo    | 2020-07-13T05:02:33.361+0000 I  STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
20. mongo    | 2020-07-13T05:02:33.361+0000 I  STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=471M,cache_overflow=(file_max=0M),session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress],
21. mongo    | 2020-07-13T05:02:33.863+0000 I  STORAGE  [initandlisten] WiredTiger message [1594616553:863974][1:0x7fa8ae84db00], txn-recover: Set global recovery timestamp: (0, 0)
22. mongo    | 2020-07-13T05:02:33.885+0000 I  RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
23. mongo    | 2020-07-13T05:02:33.902+0000 I  STORAGE  [initandlisten] Timestamp monitor starting
24. mongo    | 2020-07-13T05:02:33.910+0000 I  CONTROL  [initandlisten]
25. mongo    | 2020-07-13T05:02:33.910+0000 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
26. mongo    | 2020-07-13T05:02:33.910+0000 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
27. mongo    | 2020-07-13T05:02:33.910+0000 I  CONTROL  [initandlisten]
28. mongo    | 2020-07-13T05:02:33.911+0000 I  STORAGE  [initandlisten] createCollection: admin.system.version with provided UUID: 1c3e3ef6-c303-4517-9613-82f840f58488 and options: { uuid: UUID("1c3e3ef6-c303-4517-9613-82f840f58488") }
29. mongo    | 2020-07-13T05:02:33.935+0000 I  INDEX    [initandlisten] index build: done building index _id_ on ns admin.system.version
30. mongo    | 2020-07-13T05:02:33.935+0000 I  SHARDING [initandlisten] Marking collection admin.system.version as collection version: <unsharded>
31. mongo    | 2020-07-13T05:02:33.935+0000 I  COMMAND  [initandlisten] setting featureCompatibilityVersion to 4.2
32. mongo    | 2020-07-13T05:02:33.935+0000 I  SHARDING [initandlisten] Marking collection local.system.replset as collection version: <unsharded>
33. mongo    | 2020-07-13T05:02:33.935+0000 I  STORAGE  [initandlisten] Flow Control is enabled on this deployment.
34. mongo    | 2020-07-13T05:02:33.935+0000 I  SHARDING [initandlisten] Marking collection admin.system.roles as collection version: <unsharded>
35. mongo    | 2020-07-13T05:02:33.935+0000 I  STORAGE  [initandlisten] createCollection: local.startup_log with generated UUID: 03ec4702-b65a-4f88-8080-09ab0b26a7a4 and options: { capped: true, size: 10485760 }
36. mongo    | 2020-07-13T05:02:33.954+0000 I  INDEX    [initandlisten] index build: done building index _id_ on ns local.startup_log
37. mongo    | 2020-07-13T05:02:33.955+0000 I  SHARDING [initandlisten] Marking collection local.startup_log as collection version: <unsharded>
38. mongo    | 2020-07-13T05:02:33.955+0000 I  FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
39. mongo    | 2020-07-13T05:02:33.957+0000 I  SHARDING [LogicalSessionCacheReap] Marking collection config.system.sessions as collection version: <unsharded>
40. mongo    | 2020-07-13T05:02:33.957+0000 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
41. mongo    | 2020-07-13T05:02:33.957+0000 I  NETWORK  [listener] Listening on 0.0.0.0
42. mongo    | 2020-07-13T05:02:33.957+0000 I  NETWORK  [listener] waiting for connections on port 27017
43. mongo    | 2020-07-13T05:02:33.964+0000 I  CONTROL  [LogicalSessionCacheReap] Sessions collection is not set up; waiting until next sessions reap interval: config.system.sessions does not exist
44. mongo    | 2020-07-13T05:02:33.964+0000 I  STORAGE  [LogicalSessionCacheRefresh] createCollection: config.system.sessions with provided UUID: 4c715ea5-9f5f-41b3-9101-fd44ce5455a4 and options: { uuid: UUID("4c715ea5-9f5f-41b3-9101-fd44ce5455a4") }
45. mongo    | 2020-07-13T05:02:33.980+0000 I  INDEX    [LogicalSessionCacheRefresh] index build: done building index _id_ on ns config.system.sessions
46. mongo    | 2020-07-13T05:02:33.997+0000 I  INDEX    [LogicalSessionCacheRefresh] index build: starting on config.system.sessions properties: { v: 2, key: { lastUse: 1 }, name: "lsidTTLIndex", ns: "config.system.sessions", expireAfterSeconds: 1800 } using method: Hybrid
47. mongo    | 2020-07-13T05:02:33.997+0000 I  INDEX    [LogicalSessionCacheRefresh] build may temporarily use up to 200 megabytes of RAM
48. mongo    | 2020-07-13T05:02:33.997+0000 I  INDEX    [LogicalSessionCacheRefresh] index build: collection scan done. scanned 0 total records in 0 seconds
49. mongo    | 2020-07-13T05:02:33.997+0000 I  INDEX    [LogicalSessionCacheRefresh] index build: inserted 0 keys from external sorter into index in 0 seconds
50. mongo    | 2020-07-13T05:02:34.000+0000 I  SHARDING [ftdc] Marking collection local.oplog.rs as collection version: <unsharded>
51. mongo    | 2020-07-13T05:02:34.005+0000 I  INDEX    [LogicalSessionCacheRefresh] index build: done building index lsidTTLIndex on ns config.system.sessions
52. app      |
53. app      | > main-application@1.0.0 start /usr/src/app
54. app      | > concurrently "npm run server" "npm run client"
55. app      |
56. app      | [1]
57. app      | [1] > main-application@1.0.0 client /usr/src/app
58. app      | [1] > npm start --prefix view
59. app      | [1]
60. app      | [0]
61. app      | [0] > main-application@1.0.0 server /usr/src/app
62. app      | [0] > nodemon mainserver.js
63. app      | [0]
64. app      | [0] [nodemon] 2.0.4
65. app      | [0] [nodemon] to restart at any time, enter `rs`
66. app      | [0] [nodemon] watching path(s): *.*
67. app      | [0] [nodemon] watching extensions: js,mjs,json
68. app      | [0] [nodemon] starting `node mainserver.js`
69. app      | [1]
70. app      | [1] > main@0.1.0 start /usr/src/app/view
71. app      | [1] > react-scripts start
72. app      | [1]
73. app      | [1] sh: 1: react-scripts: not found
74. app      | [1] npm ERR! code ELIFECYCLE
75. app      | [1] npm ERR! syscall spawn
76. app      | [1] npm ERR! file sh
77. app      | [1] npm ERR! errno ENOENT
78. app      | [1] npm ERR! main@0.1.0 start: `react-scripts start`
79. app      | [1] npm ERR! spawn ENOENT
80. app      | [1] npm ERR!
81. app      | [1] npm ERR! Failed at the main@0.1.0 start script.
82. app      | [1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
83. app      | [1] npm WARN Local package.json exists, but node_modules missing, did you mean to install?
84. app      | [1]
85. app      | [1] npm ERR! A complete log of this run can be found in:
86. app      | [1] npm ERR!     /root/.npm/_logs/2020-07-13T05_02_35_310Z-debug.log
87. app      | [1] npm ERR! code ELIFECYCLE
88. app      | [1] npm ERR! errno 1
89. app      | [1] npm ERR! main-application@1.0.0 client: `npm start --prefix view`
90. app      | [1] npm ERR! Exit status 1
91. app      | [1] npm ERR!
92. app      | npm ERR! Failed at the main-application@1.0.0 client script.
93. app      | [1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
94. app      | [1]
95. app      | [1] npm ERR! A complete log of this run can be found in:
96. app      | [1] npm ERR!     /root/.npm/_logs/2020-07-13T05_02_35_348Z-debug.log
97. app      | [1] npm run client exited with code 1
98. app      | [0] (node:98) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
99. app      | [0] Server is running on port: 5000
100.    mongo    | 2020-07-13T05:02:36.010+0000 I  NETWORK  [listener] connection accepted from 172.19.0.3:45254 #1 (1 connection now open)
101.    mongo    | 2020-07-13T05:02:36.015+0000 I  NETWORK  [conn1] received client metadata from 172.19.0.3:45254 conn1: { driver: { name: "nodejs", version: "3.5.9" }, os: { type: "Linux", name: "linux", architecture: "x64", version: "4.19.76-linuxkit" }, platform: "'Node.js v10.21.0, LE (legacy)" }
102.    app      | [0] MongoDB Connected

Dockerfile

FROM node:10

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

docker - compose.yml

version: '3'
services:
  app:
    container_name: app
    restart: always
    build: .
    ports:
      - '80:3000'
    links:
      - mongo
  mongo:
    container_name: mongo
    image: mongo
    ports:
      - '27017:27017'

.dockerignore

node_modules
npm-debug.log

основной сервер. js

var express = require('express')
var cors = require('cors')
var bodyParser = require('body-parser')
var app = express()
const mongoose = require('mongoose')
var port = process.env.PORT || 5000

app.use(bodyParser.json())
app.use(cors())
app.use(
  bodyParser.urlencoded({
    extended: false
  })
)

//copy and paste below into mongodb
const mongoURI = 'mongodb://mongo:27017/MainData'

mongoose
  .connect(
    mongoURI,
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected'))
  .catch(err => console.log(err))

var Users = require('./controller/Users')
var Users2 = require('./controller/Users2')

app.use('/users', Users)
app.use('/users', Users2)

app.listen(port, function() {
  console.log('Server is running on port: ' + port)
})

пакет. json

{
  "name": "main-application",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "server": "nodemon mainserver.js",
    "client": "npm start --prefix view",
    "start": "concurrently \"npm run server\" \"npm run client\""
  },
  "keywords": [
    "nodejs",
    "jwt",
    "passport",
    "express"
  ],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "alert": "^4.1.1",
    "bcrypt-nodejs": "0.0.3",
    "bcryptjs": "^2.4.3",
    "body-parser": "1.19.0",
    "compare": "^2.0.0",
    "concurrently": "^5.1.0",
    "cors": "^2.8.4",
    "dotenv": "^8.2.0",
    "express": "^4.16.3",
    "express-session": "^1.17.1",
    "express-validator": "^6.6.0",
    "generate-password": "^1.5.1",
    "jsonwebtoken": "^8.5.1",
    "latest-version": "^5.1.0",
    "mongodb": "^3.1.6",
    "mongoose": "^5.2.15",
    "nodemailer": "^6.4.8",
    "nodemon": "^2.0.3",
    "truffle": "^5.1.10"
  }
}

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Я нашел решение этого. В папке root введите npm i react-scripts.

0 голосов
/ 13 июля 2020

Вы должны добавить create-react-app глобально в контейнер docker, т.е. npm install -g create-react-app

FROM node:10

RUN npm install -g create-react-app

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]
...