我正在尝试对使用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'none'蒙哥语| 2019-02-05T15:02:34.934 + 0000 I CONTROL [initandlisten] MongoDB开始:pid = 1 port = 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 mongo | 2019-02-05T15:02:34.935 + 0000 I CONTROL [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 我控制[initandlisten]构建环境:mongo | 2019-02-05T15:02:34.936 + 0000 I CONTROL [initandlisten] distmod: ubuntu1604 mongo | 2019-02-05T15:02:34.937 + 0000我控制 [initandlisten] distarch:x86_64 mongo | 2019-02-05T15:02:34.937 + 0000 I CONTROL [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 I存储[initandlisten] wiretiger_open配置: 创建,cache_size = 256M,session_max = 20000,逐出=(threads_min = 4,threads_max = 4),config_base = false,statistics = [fast),log =(enabled = true,archive = true,path = journal,压缩机= snappy ),file_manager = {close_idle_time = 100000),statistics_log = {wait = 0},verbose = {recovery_progress}, mongo | 2019-02-05T15:02:36.060 + 0000 E STORAGE [initandlisten] WiredTiger错误(17)[1549378956:60130] [1:0x7f0c375e0a40], 连接:__ posix_open_file,715:/data/db/WiredTiger.wt: handle-open:打开:文件存在Raw: [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到/data/db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙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到/data/db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙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到/data/db/WiredTiger.wt.1:文件重命名:重命名:文本文件忙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 存储[initandlisten]在以下任何情况下无法启动WiredTiger 兼容版本。 mongo | 2019-02-05T15:02:36.094 + 0000 F 存储[initandlisten]原因:26:文本文件忙 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 | mongo | *** fassert()失败后终止mongo | mongo退出,代码为14
这是我的Dockerfile:
FROM节点:8
WORKDIR / usr / src / app
COPY包* .json ./
运行npm install
复制。
EXPOSE 3000 CMD [“ npm”,“开始”]
和我的docker-compose.yml文件:
版本:“ 2”服务:应用程序: container_name:应用 重启:总是 建立:。 端口: -“ 3000:3000” 链接: -mongo mongo: container_name:mongo 图片:蒙哥 数量: -./data:/data/db 端口: -“ 27017:27017”
该问题似乎来自某个名为WhiteTiger.wt的文件。我曾尝试从项目目录的数据目录中删除此文件,但这没有用。有人遇到过这个问题吗?
谢谢
答案 0 :(得分:0)
我假设您正在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: