Mongodb deno中的mongo插件在docker中崩溃
我正试图建立一个网站运行在dockerMongodb deno中的mongo插件在docker中崩溃,mongodb,docker,deno,Mongodb,Docker,Deno,我正试图建立一个网站运行在docker 我使用mongodb作为数据库,因此使用的是deno.land。 这是我的Dockerfile FROM frolvlad/alpine-glibc # download deps RUN apk update && apk add curl && apk add --no-cache bash RUN curl -fsSL https://deno.land/x/install/install.sh | sh &
我使用mongodb作为数据库,因此使用的是deno.land。
这是我的Dockerfile
FROM frolvlad/alpine-glibc
# download deps
RUN apk update && apk add curl && apk add --no-cache bash
RUN curl -fsSL https://deno.land/x/install/install.sh | sh && cp /root/.deno/bin/deno /bin/deno
EXPOSE 8080
WORKDIR /app
ADD . .
CMD ["/bin/bash", "scripts/entrypoint.sh"]
这是entrypoint.sh
#!/usr/bin/env bash
# check if script is in root folder
echo "Running script from $PWD"
REGEX=".*\/app"
if [[ "$PWD" =~ $REGEX ]]; then
# args for caching
DENO_ARGS="-c backend/tsconfig.json --unstable"
# run cache stuff
echo "running cache stuff"
deno cache $DENO_ARGS --lock=backend/lock.json --lock-write backend/deps.ts
echo "Wrote external deps into ${PWD}/backend/deps.ts"
deno cache $DENO_ARGS backend/src/Server.ts
echo "Cached types used in main file"
deno cache $DENO_ARGS --reload --lock=backend/lock.json backend/deps.ts
echo "Reloaded external deps"
echo "cache stuff successfully done"
# args for launching website
LAUNCH_ARGS="-c backend/tsconfig.json --unstable --allow-net --allow-env --allow-read --allow-write --allow-plugin"
# force launch args
LAUNCH_ARGS="$LAUNCH_ARGS --lock=backend/lock.json --cached-only"
# launch website
echo "launching website..."
deno run $LAUNCH_ARGS backend/src/Server.ts
else echo "Pls run this script from the root folder"
fi
echo "Exiting..."
这基本上是使用deno设置启动docker容器,缓存依赖项并启动网站,但在启动网站时会出现错误:
INFO downloading deno plugin "deno_mongo" from "https://github.com/manyuanrong/deno_mongo/releases/download/v0.13.0/libdeno_mongo.so"
INFO load deno plugin "deno_mongo" from local "/app/.deno_plugins/deno_mongo_3bbff9a1cd76f3d988b3ca28c7163c3f.so"
error: Uncaught (in promise) Error: Could not obtain symbol from the library: /app/.deno_plugins/deno_mongo_3bbff9a1cd76f3d988b3ca28c7163c3f.so: undefined symbol: init
return Deno.openPlugin(localPath);
^
at deno:core/core.js:86:46
at unwrapOpResult (deno:core/core.js:106:13)
at Object.opSync (deno:core/core.js:120:12)
at Object.openPlugin (deno:runtime/js/40_plugins.js:8:22)
at prepare (https://deno.land/x/plugin_prepare@v0.8.0/mod.ts:69:15)
at async init (https://deno.land/x/mongo@v0.13.0/ts/util.ts:44:3)
at async https://deno.land/x/mongo@v0.13.0/mod.ts:14:1
在WSL2中运行的Arch上本地运行此脚本不会出现任何问题。
有人有主意吗