Creating Custom Docker Images

From Open Source Controls Wiki
Jump to navigation Jump to search

Creating a Custom Docker Image

Create a directory containing the following files:


Dockers1.png


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