Gra*_*uer 3 mongodb node.js express docker dockerfile
我正在尝试 Dockerize 使用 node.js 和 MongoDB 构建的 Web 应用程序,但是当我运行 docker-compose up 时,出现以下错误:
$ docker-compose up
Run Code Online (Sandbox Code Playgroud)
使用默认驱动程序创建网络“nodeapp1_default” 创建 mongo ... 完成 创建应用程序 ... 完成 附加到 mongo、app mongo
| 2019-02-05T15:02:34.925+0000 I CONTROL [main] 自动禁用 TLS 1.0,强制启用 TLS 1.0 指定 --sslDisabledProtocols 'none' mongo | 2019-02-05T15:02:34.934 + 0000我控制[initandlisten] MongoDB启动:pid = 1端口= 27017 dbpath = / data / db 64位主机= e4fb5b7aa837 mongo | 2019-02-05T15:02:34.934+0000 我控制 [initandlisten] db 版本 v4.0.5 mongo | 2019-02-05T15:02:34.935 + 0000我控制[initandlisten] git版本:3739429dd92b92d1b0ab120911a23d50bf03c412 mongo | 2019-02-05T15:02:34.935+0000 我控制 [initandlisten] OpenSSL 版本:OpenSSL 1.0.2g 2016 年 3 月 1 日 mongo | 2019-02-05T15:02:34.935 + 0000我控制[initandlisten]分配器:tcmalloc mongo | 2019-02-05T15:02:34.936+0000 我控制 [initandlisten] 模块:无 mongo | 2019-02-05T15:02:34.936+0000 我控制 [initandlisten] 构建环境:mongo | 2019-02-05T15:02:34.936+0000 我控制 [initandlisten] distmod: ubuntu1604 mongo | 2019-02-05T15:02:34.937 + 0000我控制[initandlisten]双淀粉:x86_64 mongo | 2019-02-05T15:02:34.937+0000 我控制 [initandlisten]
目标架构:x86_64 mongo | 2019-02-05T15:02:34.937 + 0000我控制[initandlisten]选项:{net:{bindIpAll:true}} 2019-02-05T15:02:34.941 + 0000我存储[initandlisten]wiretiger_open配置:创建,cache_size = 256M,session_max = 20000,驱逐=(threads_min = 4,threads_max = 4),config_base = false,统计=(快速) ,log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress), mongo | 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存储[initandlisten] WiredTiger错误(26)[1549378956:66441] [1:0x7f0c375e0a40],连接:__posix_fs_rename,253:/data/db/WiredTiger.wt到/data/ db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙原始:[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存储[initandlisten] WiredTiger错误(26)[1549378956:78533] [1:0x7f0c375e0a40],连接:__posix_fs_rename,253:/data/db/WiredTiger.wt到/data/ db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙原始:[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存储[initandlisten] WiredTiger错误(26)[1549378956:92202] [1:0x7f0c375e0a40],连接:__posix_fs_rename,253:/data/db/WiredTiger.wt到/data/ db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙原始:[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] 蒙戈 | 蒙戈 | *** fassert() 失败后中止 蒙戈 | mongo 退出,代码为 14
这是我的 Dockerfile:
来自节点:8
工作目录 /usr/src/app
复制包*.json ./
运行 npm 安装
复制 。。
EXPOSE 3000 CMD [“npm”,“开始”]
和我的 docker-compose.yml 文件:
版本:“2”服务:应用程序:容器名称:应用程序重新启动:始终构建:。端口:-“3000:3000”链接:-mongo mongo:container_name:mongo图像:mongo卷:-./data:/data/db端口:-“27017:27017”
问题似乎来自某个名为 WhiteTiger.wt 的文件。我尝试从项目目录的数据目录中删除此文件,但这不起作用。以前有人遇到过这个问题吗?
谢谢
我假设您在 Windows 上运行 Docker,如果是这样,我遇到了同样的问题并在下面的帖子中找到了答案:
Windows Docker mongo 容器不适用于卷挂载
问题在于卷装载被指定为主机卷。我通过将卷装载更改为命名卷解决了我的问题。如果您需要使用主机,您也许可以使用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:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2720 次 |
| 最近记录: |