【问题标题】:Code 14 when Dockerizing Web App Using node.js and MongoDB使用 node.js 和 MongoDB 对 Web 应用程序进行 Dockerizing 时的代码 14
【发布时间】:2019-06-29 11:46:39
【问题描述】:

我正在尝试对使用 node.js 和 MongoDB 构建的 Web 应用程序进行 Docker 化,但是当我运行时 码头工人组成 我收到以下错误:

$ docker-compose up

使用默认驱动程序创建网络“nodeapp1_default” mongo ...完成创建应用程序...完成附加到mongo,应用程序mongo
| 2019-02-05T15:02:34.925+0000 I CONTROL [main] 自动 禁用 TLS 1.0,强制启用 TLS 1.0 指定 --sslDisabledProtocols '无' mongo | 2019-02-05T15:02:34.934+0000 I CONTROL [initandlisten] MongoDB 开始:pid=1 端口=27017 dbpath=/data/db 64 位主机=e4fb5b7aa837 mongo | 2019-02-05T15:02:34.934+0000 I CONTROL [initandlisten] 数据库版本 v4.0.5 mongo | 2019-02-05T15:02:34.935+0000 我控制 [initandlisten] git 版本:3739429dd92b92d1b0ab120911a23d50bf03c412 蒙戈 | 2019-02-05T15:02:34.935+0000 我控制 [initandlisten] OpenSSL 版本:OpenSSL 1.0.2g 2016 年 3 月 1 日 2019-02-05T15:02:34.935+0000 I CONTROL [initandlisten] 分配器: tcmalloc mongo | 2019-02-05T15:02:34.936+0000 我控制 [initandlisten] 模块:无 mongo | 2019-02-05T15:02:34.936+0000 I CONTROL [initandlisten] 构建环境:mongo | 2019-02-05T15:02:34.936+0000 我控制 [initandlisten] distmod: ubuntu1604 蒙哥 | 2019-02-05T15:02:34.937+0000 我控制 [initandlisten] distarch: x86_64 mongo | 2019-02-05T15:02:34.937+0000 我控制 [initandlisten]
target_arch: x86_64 mongo | 2019-02-05T15:02:34.937+0000 我控制 [initandlisten] 选项:{ net: { bindIpAll: true } } mongo | 2019-02-05T15:02:34.941+0000 我存储 [initandlisten] 有线老虎打开配置: create,cache_size=256M,session_max=20000,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),statistics_log=(wait=0),verbose=(recovery_progress), 蒙戈 | 2019-02-05T15:02:36.060+0000 E 存储 [initandlisten] WiredTiger 错误 (17) [1549378956:60130][1:0x7f0c375e0a40], 连接:__posix_open_file,715:/data/db/WiredTiger.wt: 句柄打开:打开:文件存在原始: [1549378956:60130][1:0x7f0c375e0a40],连接:__posix_open_file, 715:/data/db/WiredTiger.wt:句柄打开:打开:文件存在 mongo | 2019-02-05T15:02:36.066+0000 E STORAGE [initandlisten] WiredTiger 错误 (26) [1549378956:66441][1:0x7f0c375e0a40],连接: __posix_fs_rename, 253: /data/db/WiredTiger.wt to /data/db/WiredTiger.wt.1: file-rename: rename: Text file busy Raw: [1549378956:66441][1:0x7f0c375e0a40],连接:__posix_fs_rename, 253:/data/db/WiredTiger.wt 到 /data/db/WiredTiger.wt.1:文件重命名: 重命名:文本文件忙 mongo | 2019-02-05T15:02:36.077+0000 E 存储 [initandlisten] WiredTiger 错误 (17) [1549378956:77316][1:0x7f0c375e0a40],连接:__posix_open_file, 715:/data/db/WiredTiger.wt:句柄打开:打开:文件存在原始: [1549378956:77316][1:0x7f0c375e0a40],连接:__posix_open_file, 715:/data/db/WiredTiger.wt:句柄打开:打开:文件存在 mongo | 2019-02-05T15:02:36.078+0000 E STORAGE [initandlisten] WiredTiger 错误 (26) [1549378956:78533][1:0x7f0c375e0a40],连接: __posix_fs_rename, 253: /data/db/WiredTiger.wt to /data/db/WiredTiger.wt.1: file-rename: rename: Text file busy Raw: [1549378956:78533][1:0x7f0c375e0a40],连接:__posix_fs_rename, 253:/data/db/WiredTiger.wt 到 /data/db/WiredTiger.wt.1:文件重命名: 重命名:文本文件忙 mongo | 2019-02-05T15:02:36.090+0000 E 存储 [initandlisten] WiredTiger 错误 (17) [1549378956:90882][1:0x7f0c375e0a40],连接:__posix_open_file, 715:/data/db/WiredTiger.wt:句柄打开:打开:文件存在原始: [1549378956:90882][1:0x7f0c375e0a40],连接:__posix_open_file, 715:/data/db/WiredTiger.wt:句柄打开:打开:文件存在 mongo | 2019-02-05T15:02:36.092+0000 E STORAGE [initandlisten] WiredTiger 错误 (26) [1549378956:92202][1:0x7f0c375e0a40],连接: __posix_fs_rename, 253: /data/db/WiredTiger.wt to /data/db/WiredTiger.wt.1: file-rename: rename: Text file busy Raw: [1549378956:92202][1:0x7f0c375e0a40],连接:__posix_fs_rename, 253:/data/db/WiredTiger.wt 到 /data/db/WiredTiger.wt.1:文件重命名: 重命名:文本文件忙 mongo | 2019-02-05T15:02:36.094+0000 W STORAGE [initandlisten] 启动 WiredTiger 失败 兼容版本。蒙戈 | 2019-02-05T15:02:36.094+0000 F STORAGE [initandlisten] 原因:26:文本文件忙 mongo | 2019-02-05T15:02:36.094+0000 F - [initandlisten] 致命 断言 28595 在 src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp 638 mongo
| 2019-02-05T15:02:36.094+0000 F - [initandlisten] mongo | 蒙戈 | ***在 fassert() 失败后中止 mongo |蒙戈 | mongo 以代码 14 退出

这是我的 Dockerfile:

从节点:8

WORKDIR /usr/src/app

复制包*.json ./

运行 npm 安装

复制。 .

EXPOSE 3000 CMD [ "npm", "start" ]

还有我的 docker-compose.yml 文件:

版本:“2”服务:应用程序: 容器名称:应用程序 重启:总是 建造: 。 端口: - “3000:3000” 链接: - 蒙哥蒙哥: 容器名称:mongo 图片:蒙哥 卷: - ./data:/data/db 端口: - “27017:27017”

问题似乎来自某个名为 WhiteTiger.wt 的文件。我曾尝试从我的项目目录的数据目录中删除此文件,但没有奏效。有没有人遇到过这个问题?

谢谢

【问题讨论】:

    标签: node.js mongodb docker express dockerfile


    【解决方案1】:

    我假设您在 Windows 上运行 Docker,如果是这样,我遇到了同样的问题,并在下面的帖子中找到了答案:

    Windows Docker mongo container doesn't work with volume mount

    问题是卷挂载被指定为主机卷。我通过将卷安装更改为命名卷解决了我的问题。如果您需要使用主机,您也许可以使用我链接的问题的答案中指定的rsync 工具。

    我的 docker-compose.yml 文件

    version: '3'
    services:
    
      mongodb1:
        image: mongo:latest
        restart: always
        volumes:
          - data1:/data/db
          - config1:/data/configdb
        ports:
          - 30001:27017
        entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]
    volumes:
      data1:
      config1:
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 2021-10-22
      • 2019-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      相关资源
      最近更新 更多