尝试构建一个 docker 镜像以在镜像中安装 Node 和数据库。 数据库已安装,但在尝试获取容器日志时服务未运行..
FROM ubuntu:lastest
RUN apt-get update && apt-get install -y curl wget gnupg && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv D68FA50FEA312927 && \
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list && \
curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
apt-get update && \
apt-get install -y nodejs mongodb-org redis-server && \
node -v && \
npm -v
请就此问题提供帮助,我是 Docker 的新手。
最佳答案
最好单独运行数据库容器,例如一个容器 mongodb和一个 redis .然后将您的应用程序容器连接到这些容器(通过 links (deprecated) 或通过创建和共享网络 as discussed in this question 。您也不必从 ubuntu:latest
开始,但可以从 Node 图像,如 nodejs。一些“编排”,如 docker-compose
,可以使将这些服务插入在一起的任务变得更加容易,请参阅 this tutorial(文章中的 postgres 数据库可以很容易地由 mongodb 和 redis 交换)。也可以考虑阅读 best practices 来编写 Dockerfile。
关于node.js - 如何在 Docker 容器中运行数据库服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55570147/