RUN echo 'http://dl-cdn.alpinelinux.org/Alpine/v3.6/community' >> /etc/apk/repositories
RUN apk update
RUN apk add mongodb==3.4.4-r0
RUN mongo --version
エラーが表示されます
ERROR: unsatisfiable constraints:
so:libboost_chrono-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_chrono-mt.so.1.62.0]
so:libboost_filesystem-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_filesystem-mt.so.1.62.0]
so:libboost_iostreams-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_iostreams-mt.so.1.62.0]
so:libboost_program_options-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_program_options-mt.so.1.62.0]
so:libboost_regex-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_regex-mt.so.1.62.0]
so:libboost_system-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_system-mt.so.1.62.0]
so:libboost_thread-mt.so.1.62.0 (missing):
required by:
mongodb-3.4.4-r0[so:libboost_thread-mt.so.1.62.0]
so:libcrypto.so.41 (missing):
required by:
mongodb-3.4.4-r0[so:libcrypto.so.41]
so:libssl.so.43 (missing):
MongoDBバージョン3.4.4-r0
は Alpine v3.6コミュニティ リポジトリにあり、boost
、boost-iostreams
、boost-dev
などの別のパッケージが必要です1.62.0-r5
をインストールします。これらは Alpine v3.6 main リポジトリでのみ使用できます。そのリポジトリをAlpineリポジトリのリストに追加するだけです。
RUN echo 'http://dl-cdn.alpinelinux.org/Alpine/v3.6/main' >> /etc/apk/repositories
RUN echo 'http://dl-cdn.alpinelinux.org/Alpine/v3.6/community' >> /etc/apk/repositories
RUN apk update
RUN apk add mongodb=3.4.4-r0
RUN mongo --version
これは私のための仕事です
FROM Alpine:Edge
RUN apk add --no-cache mongodb
VOLUME /data/db
EXPOSE 27017 28017
COPY run.sh /root
ENTRYPOINT [ "/root/run.sh" ]
CMD [ "mongod", "--bind_ip", "0.0.0.0" ]
Run.shは次のとおりです。
#!/bin/sh
# Docker entrypoint (pid 1), run as root
[ "$1" = "mongod" ] || exec "$@" || exit $?
# Make sure that database is owned by user mongodb
[ "$(stat -c %U /data/db)" = mongodb ] || chown -R mongodb /data/db
# Drop root privilege (no way back), exec provided command as user mongodb
cmd=exec; for i; do cmd="$cmd '$i'"; done
exec su -s /bin/sh -c "$cmd" mongodb
公式Webサイトには、Linuxレガシーx64用のmongodb-*。tgzパッケージがいくつかあります。
- https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.17.tgz
- https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.17.tgz
...
これらはAlpine Linux 3.11で正常に動作します。