lets-chat
lets-chat copied to clipboard
`docker build .` failed
$ docker --version
Docker version 17.12.0-ce, build c97c6d6
docker build .
is failed at https://hub.docker.com/r/sdelements/lets-chat/builds/bjqta6msdmqrevvmzyuor3m/
I fixed some problem in Dockerfile
-
npm cache clean
needs--force
option (like this https://github.com/nodejs/docker-node/issues/419) - the user and the group
node
already exist - update node version
$ diff -u Dockerfile{.orig,}
--- Dockerfile.orig 2018-01-24 13:20:44.000000000 +0900
+++ Dockerfile 2018-01-24 15:25:03.000000000 +0900
@@ -1,4 +1,4 @@
-FROM node:0.12-slim
+FROM node:9-slim
MAINTAINER SD Elements
ENV PKG_JSON_URL=https://raw.githubusercontent.com/sdelements/lets-chat/master/package.json \
@@ -18,7 +18,7 @@
&& npm install --production \
&& npm install $LCB_PLUGINS \
&& npm dedupe \
-&& npm cache clean \
+&& npm cache clean --force \
&& rm -rf /tmp/npm* \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false $BUILD_DEPS
@@ -28,8 +28,8 @@
&& cp -a lets-chat-master/. . \
&& rm -rf lets-chat-master
-RUN groupadd -r node \
-&& useradd -r -g node node \
+RUN (groups node || groupadd -r node) \
+&& (id node || useradd -r -g node node ) \
&& chown node:node uploads \
&& mkdir -p builtAssets \
&& chown node:node builtAssets
This is whole of the file.
FROM node:9-slim
MAINTAINER SD Elements
ENV PKG_JSON_URL=https://raw.githubusercontent.com/sdelements/lets-chat/master/package.json ¥
TAR_GZ_URL=https://github.com/sdelements/lets-chat/archive/master.tar.gz ¥
BUILD_DEPS='g++ gcc git make python' ¥
LCB_PLUGINS='lets-chat-ldap lets-chat-s3'
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD $PKG_JSON_URL ./package.json
RUN set -x ¥
&& apt-get update ¥
&& apt-get install -y $BUILD_DEPS --no-install-recommends ¥
&& rm -rf /var/lib/apt/lists/* ¥
&& npm install --production ¥
&& npm install $LCB_PLUGINS ¥
&& npm dedupe ¥
&& npm cache clean --force ¥
&& rm -rf /tmp/npm* ¥
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false -o APT::AutoRemove::SuggestsImportant=false $BUILD_DEPS
ADD $TAR_GZ_URL ./master.tar.gz
RUN tar -xzvf master.tar.gz ¥
&& cp -a lets-chat-master/. . ¥
&& rm -rf lets-chat-master
RUN (groups node || groupadd -r node) ¥
&& (id node || useradd -r -g node node ) ¥
&& chown node:node uploads ¥
&& mkdir -p builtAssets ¥
&& chown node:node builtAssets
ENV LCB_DATABASE_URI=mongodb://mongo/letschat ¥
LCB_HTTP_HOST=0.0.0.0 ¥
LCB_HTTP_PORT=8080 ¥
LCB_XMPP_ENABLE=true ¥
LCB_XMPP_PORT=5222
USER node
EXPOSE 8080 5222
VOLUME ["/usr/src/app/config"]
VOLUME ["/usr/src/app/uploads"]
CMD ["npm", "start"]