You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-18Lines changed: 32 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,31 +7,41 @@
7
7
8
8
Made for [netPI](https://www.netiot.com/netpi/), the Raspberry Pi 3B Architecture based industrial suited Open Edge Connectivity Ecosystem
9
9
10
-
### Raspbian with SSH and user pi
10
+
### Secured netPI Docker
11
+
12
+
netPI features a restricted Docker protecting the system software's integrity by maximum. The restrictions are
13
+
14
+
* privileged mode is not automatically adding all host devices `/dev/` to a container
15
+
* volume bind mounts to rootfs is not supported
16
+
* the devices `/dev`,`/dev/mem`,`/dev/sd*`,`/dev/dm*`,`/dev/mapper`,`/dev/mmcblk*` cannot be added to a container
17
+
18
+
### Container features
19
+
20
+
The image provided hereunder deploys a container with Debian, SSH server, Raspberry Pi userland tool and created user pi.
11
21
12
22
Base of this image builds [debian](https://www.balena.io/docs/reference/base-images/base-images/) with enabled [SSH](https://en.wikipedia.org/wiki/Secure_Shell), created user 'pi' and preinstalled packages of a headless Raspbian lite.
13
23
14
-
####Container prerequisites
24
+
### Container setup
15
25
16
-
#####Port mapping
26
+
#### Port mapping
17
27
18
-
For remote login to the container across SSH the container's SSH port `22`needs to be mapped to any free netPI Host port.
28
+
For a SSH login to the container any unused netPI host port needs to be added to the container port `22` (SSH).
19
29
20
-
#####Hostname
30
+
#### Hostname (optional)
21
31
22
-
A normal Raspberry Pi has the default hostname `raspberrypi`. For equal conditions set the container's hostname to the same string.
32
+
For an equal standard Raspberry Pi condition set the container hostname to `raspberrypi`.
23
33
24
-
#####Privileged mode (optional)
34
+
#### Privileged mode (optional)
25
35
26
36
The privileged mode option needs to be activated to lift the standard Docker enforced container limitations. With this setting the container and the applications inside are the getting (almost) all capabilities as if running on the Host directly.
27
37
28
38
netPI's secure reference software architecture prohibits root access to the Host system always. Even if priviledged mode is activated the intrinsic security of the Host Linux Kernel can not be compromised.
29
39
30
-
#####Host device (optional)
40
+
#### Host device (optional)
31
41
32
-
The container includes the [userland](https://github.com/raspberrypi/userland) tools you find installed in standard Raspbian OS too. To grant access of tools like [vcmailbox](https://github.com/raspberrypi/userland/blob/master/host_applications/linux/apps/vcmailbox/vcmailbox.c) the `/dev/vcio` and `/dev/vchiq` and `/dev/vc-mem` host devices need to be exposed to the container. (Prerequisite is running the container in privileged mode).
42
+
The container includes the [userland](https://github.com/raspberrypi/userland) tools installed with original Raspbian OS too. To grant access of tools like [vcmailbox](https://github.com/raspberrypi/userland/blob/master/host_applications/linux/apps/vcmailbox/vcmailbox.c) the `/dev/vcio` and `/dev/vchiq` and `/dev/vc-mem` host devices need to be exposed to the container. (Prerequisite is running the container in privileged mode).
33
43
34
-
#### Getting started
44
+
###Container deployment
35
45
36
46
STEP 1. Open netPI's website in your browser (https).
37
47
@@ -42,7 +52,7 @@ STEP 3. Enter the following parameters under *Containers > + Add Container*
Pulling the image may take a while (5-10mins). Sometimes it may take too long and a time out is indicated. In this case repeat STEP 4.
56
66
57
-
#### Accessing
67
+
###Container access
58
68
59
-
The container starts the SSH server automatically. Open a terminal connection to it with an SSH client such as [putty](http://www.putty.org/)using netPI's IP address at your mapped port.
69
+
The container automatically starts the SSH server. For a SSH session use a SSH client such as [putty](http://www.putty.org/)with the netPI IP address (@mapped SSH host port number).
60
70
61
-
As with a Raspberry Pi use the default credentials `pi` as user and `raspberry` as password when asked and you are logged in as non-root user `pi`.
71
+
Use the credentials `pi` as user and `raspberry` as password when asked and you are logged in as non-root user `pi`.
62
72
63
73
Continue to use [Linux commands](https://www.raspberrypi.org/documentation/linux/usage/commands.md) in the terminal as usual.
For additional help or information visit the Hilscher Forum at https://forum.hilscher.com/
82
+
83
+
### Contaner automated build
70
84
71
85
The project complies with the scripting based [Dockerfile](https://docs.docker.com/engine/reference/builder/) method to build the image output file. Using this method is a precondition for an [automated](https://docs.docker.com/docker-hub/builds/) web based build process on DockerHub platform.
72
86
73
-
DockerHub web platform is x86 CPU based, but an ARM CPU coded output file is needed for Raspberry systems. This is why the Dockerfile includes the [balena.io](https://balena.io/blog/building-arm-containers-on-any-x86-machine-even-dockerhub/) steps.
87
+
DockerHub web platform is x86 CPU based, but an ARM CPU coded output file is needed for Raspberry Pi systems. This is why the Dockerfile includes the [balena.io](https://balena.io/blog/building-arm-containers-on-any-x86-machine-even-dockerhub/) steps.
74
88
75
-
####License
89
+
### License
76
90
77
91
View the license information for the software in the project. As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
78
92
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
0 commit comments