【发布时间】:2021-04-26 02:07:09
【问题描述】:
我在运行docker-compose up 命令时遇到以下异常:
Creating compose_node-app_1 ... done
Attaching to compose_node-app_1
node-app_1 |
node-app_1 | > start
node-app_1 | > node index.js
node-app_1 |
node-app_1 | /usr/app/node_modules/assert-options/dist/src/index.js:16
node-app_1 | throw new Error('Option "' + a + '" is not recognized.');
node-app_1 | ^
node-app_1 |
node-app_1 | Error: Option "host" is not recognized.
node-app_1 | at assertOptions (/usr/app/node_modules/assert-options/dist/src/index.js:16:23)
node-app_1 | at $main (/usr/app/node_modules/pg-promise/lib/main.js:194:15)
node-app_1 | at Object.<anonymous> (/usr/app/index.js:13:12)
node-app_1 | at Module._compile (node:internal/modules/cjs/loader:1108:14)
node-app_1 | at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
node-app_1 | at Module.load (node:internal/modules/cjs/loader:973:32)
node-app_1 | at Function.Module._load (node:internal/modules/cjs/loader:813:14)
node-app_1 | at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
node-app_1 | at node:internal/main/run_main_module:17:47
node-app_1 | npm ERR! code 1
node-app_1 | npm ERR! path /usr/app
node-app_1 | npm ERR! command failed
node-app_1 | npm ERR! command sh -c node index.js
node-app_1 |
node-app_1 | npm ERR! A complete log of this run can be found in:
node-app_1 | npm ERR! /root/.npm/_logs/2021-01-21T15_49_47_966Z-debug.log
以下是我在不同文件中的内容:
docker-compose.yml
version: '3.4'
services:
# postgres-server:
# network_mode: host
# image: postgres
# restart: always
# environment:
# POSTGRES_PASSWORD: example
# adminer:
# network_mode: host
# image: adminer
# restart: always
# ports:
# - '8080:8080'
node-app:
restart: on-failure
build: .
ports:
- '8089:8089'
index.js
const express = require('express');
const app = express();
const hostname = '127.0.0.1';
app.get('/', (req, res)=> {
res.send('Welcome to K8s session')
});
app.listen(8089, hostname, ()=>{
console.log('Listening to port 8080')
});
package.json
{
"dependencies":{
"express":"*"
},
"scripts":{
"start": "node index.js"
}
}
Dockerfile
FROM node:alpine
WORKDIR /usr/app
COPY . .
RUN npm install --global
COPY ./package.json .
CMD ["npm", "start"]
如果我通常使用 docker 命令来构建和运行此容器,那么可以这样做.. 但我正在尝试通过 docker-compose,因为我想扩展以使用 db.. 有人可以建议这个主机异常是什么吗?我们如何解决问题?
谢谢
【问题讨论】:
-
尝试将主机名更改为 0.0.0.0
-
也尝试了同样的方法..仍然是同样的问题..然后从那里删除了主机名,然后也没有运气。
-
最可能的原因是您没有正确关注initialization steps,试图将
host设置在不属于它的Initialization Options内,因此出现错误。如果您遵循文档,该选项将在连接详细信息中传递,这是下一步。
标签: javascript node.js docker npm docker-compose