我正在尝试在node:10-alpine3.9上安装流星,但出现错误。拜托,我想念的是什么?谢谢。
我想安装流星1.8.1,我基于staeke / meteor-alpine
Dockerfile
FROM node:10-alpine3.9
ENV METEOR_VERSION=1.8.1
ENV METEOR_ALLOW_SUPERUSER=1
RUN adduser -D -u 1001 -h /home/meteor meteor
RUN apk add --update --no-cache bash
RUN export TEMP_PACKAGES="alpine-sdk libc6-compat python linux-headers" && \
apk add --update --no-cache $TEMP_PACKAGES && \
su - meteor -c "curl https://install.meteor.com/?release=${METEOR_VERSION} | sh" && \
cd /home/meteor/.meteor/packages/meteor-tool/*/mt-os.linux.x86_64 && \
cp scripts/admin/launch-meteor /usr/bin/meteor && \
cd dev_bundle && \
cd bin && \
rm node && \
rm npm && \
rm npx && \
ln -s $(which node) && \
ln -s $(which npm) && \
ln -s $(which npx) && \
cd ../mongodb/bin && \
rm mongo mongod && \
cd ../../lib && \
sed -i '/sysctl\.h/d' node_modules/netroute/src/netroute.cc && \
npm rebuild && \
cd ~ && \
ln -s /home/meteor/.meteor && \
apk del $TEMP_PACKAGES
WORKDIR /home/meteor
sudo docker build -t jds-base:1.0.0后发生错误。 好吧,这不是唯一的错误,因为在还有其他错误(很长时间)之后
Downloading Meteor distribution
Meteor 1.8.1 has been installed in your home directory (~/.meteor).
Writing a launcher script to /usr/local/bin/meteor for your convenience.
This may prompt for your password.
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
Couldn't write the launcher script. Please either:
(1) Run the following as root:
cp "/home/meteor/.meteor/packages/meteor-tool/1.8.1/mt-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor
(2) Add "$HOME/.meteor" to your path, or
(3) Rerun this command to try again.
Then to get started, take a look at 'meteor --help' or see the docs at
docs.meteor.com.
> fibers@3.1.1 install /home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/fibers
> node build.js || nodejs build.js
`linux-x64-64-musl` exists; testing
Binary is fine; exiting
> kexec@3.0.0 install /home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/kexec
> node-gyp rebuild
make: Entering directory '/home/meteor/.meteor/packages/meteor-tool/.1.8.1.ani1yi.p0f9s++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/kexec/build'
CXX(target) Release/obj.target/kexec/src/kexec.o
答案 0 :(得分:1)
您可以尝试使用以下Docker映像,它将能够安装Metro,但您将无法运行,因为似乎有一个github issue描述了Alpine不正确支持Metero,该问题已标记为作为功能请求。
db.UserEv.Where(l=> l.dates.Any(a => a.start>= (start)))
.Where(l=> l.dates.Any(b => b.end<= (end)))
但是,如果高山不支持,则无需使事情复杂化,您可以运行node slim。如果您关心的是尺寸,那么高山不能满足要求就没有什么大不同。
FROM node:10-alpine3.9
ENV METEOR_VERSION=0.9.1
ENV METEOR_ALLOW_SUPERUSER=1
RUN apk add --update --no-cache bash curl build-base
RUN curl https://install.meteor.com/ | /bin/sh
RUN /usr/local/bin/meteor --version
输出:
FROM node:10-buster-slim
ENV METEOR_VERSION=1.8.1
ENV LC_ALL=POSIX
ENV METEOR_ALLOW_SUPERUSER=1
RUN apt-get -yqq update \
&& DEBIAN_FRONTEND=noninteractive apt-get -yqq install \
curl \
g++ \
make \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN curl "https://install.meteor.com/?release=${METEOR_VERSION}" | /bin/sh
ENV PATH=$PATH:/root/.meteor
WORKDIR /app
EXPOSE 3000
ENTRYPOINT ["meteor"]