Creating Custom Docker Images
Creating a Custom Docker Image
Create a directory containing the following files:
Dockerfile
FROM nodered/node-red # Copy package.json to the WORKDIR so npm builds all # of your added nodes modules for Node-RED COPY package.json . RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production # Copy _your_ Node-RED project files into place # NOTE: This will only work if you DO NOT later mount /data as an external volume. # If you need to use an external volume for persistence then # copy your settings and flows files to that volume instead. #COPY settings.js /data/settings.js COPY flows_cred.json /data/flows_cred.json COPY flows.json /data/flows.json # You should add extra nodes via your package.json file but you can also add them here: #WORKDIR /usr/src/node-red #RUN npm install node-red-dashboard
package.json
{ "name": "zerocarboncontrol1", "description": "testing", "version": "0.0.1", "dependencies": { "node-red": "latest", "node-red-dashboard": "3.1.7" }, "scripts": { "start": "node /usr/src/node-red/node_modules/node-red/red.js" } }
In a command prompt, move to the directory where the files are located and run the following command to create image.
docker build -t zerocarboncontrol1:latest .
docker tag zerocarboncontrol1 YOUR_DOCKERHUB_NAME/zerocarboncontrol1
docker push YOUR_DOCKERHUB_NAME/zerocarboncontrol1:latest