Dev-ready image that extends from xemasiv/node-env.
2.0K
docker build -t xemasiv/image:latest .docker push xemasiv/image:latestdocker pull xemasiv/image:latestdocker run -it -d --name containerName -p 80:80 -p 443:443 xemasiv/image:latestdocker run -it -d --name containerName --mount type=bind,src=~/projectDirectory,dst=~/projectDirectory -p 80:80 -p 443:443 xemasiv/image:latest--network=hostdocker container exec -i containerName /bin/bash -c 'mkdir -p ~/.ssh && touch ~/.ssh/id_rsa'cat ~/.ssh/id_rsa | docker container exec -i containerName /bin/bash -c 'cat > ~/.ssh/id_rsa && cat ~/.ssh/id_rsa'docker container exec -i containerName /bin/bash -c 'chmod 700 -R ~/.ssh/ && eval "$(ssh-agent)" ; ssh-add ~/.ssh/id_rsa'docker container exec -it containerName /bin/bash -c "cd ~/ && git clone <YOUR_REPO>"docker container exec -it containerName /bin/bash -c "cd ~/projectDirectory && npm install"docker container exec -it containerName /bin/bash -c "cd ~/projectDirectory && pm2 start index.js --name pm2-instance"FROM xemasiv/node-env
WORKDIR ~/
# PM2 installation
RUN npm install pm2@latest -g
# PM@ authbind configuration
# http://pm2.keymetrics.io/docs/usage/specifics/
RUN sudo apt-get update && apt-get install authbind -y --no-install-recommends
RUN touch /etc/authbind/byport/80
RUN chown node /etc/authbind/byport/80
RUN chmod 755 /etc/authbind/byport/80
RUN touch /etc/authbind/byport/443
RUN chown node /etc/authbind/byport/443
RUN chmod 755 /etc/authbind/byport/443
RUN echo 'alias pm2="authbind --deep pm2"' >> ~/.bashrc
RUN authbind --deep pm2 update
# Expose ports 80 & 443 for HTTP & HTTPS
EXPOSE 80
EXPOSE 443
# Clean-up again
RUN apt-get autoremove -y && \
apt-get autoclean && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
CMD [ "/bin/bash" ]
Content type
Image
Digest
Size
420.5 MB
Last updated
almost 9 years ago
docker pull xemasiv/image