other topics

Certain topics needed to be at hand during the project quite often. As they don’t fint into a singular section we put them in here:

cheat sheet

Clean up of containers

remove all exited containers (should be run on each node):

docker rm $(docker ps -q -f status=exited)

attach bash to a running container:

sudo docker exec -i -t containername /bin/bash

Remove all containers:

docker rm $(docker ps -a -q)

Remove all images:

docker rmi $(docker images -q)

Whiping out everything:

docker system prune -a

Networking

Finding public ip:

wget -qO - https://api.ipify.org

Dos and don’ts

https://community.spiceworks.com/topic/1832873-a-list-of-don-ts-for-docker-containers

  1. Don’t store data in containers
  2. Don’t ship your application in two pieces
  3. Don’t create large images
  4. Don’t use a single layer image
  5. Don’t create images from running containers
  6. Don’t use only the “latest” tag
  7. Don’t run more than one process in a single container
  8. Don’t store credentials in the image. Use environment variables
  9. Don’t run processes as a root user
  10. Don’t rely on IP addresses

Updating this documentation

issue the following command to update this documentation:

docker run --name sphinxneeds --rm \
      -e "Project=Flex4apps" \
      -e "Author=Till Witt, Johannes Berg, Alex Nowak" \
      -e "Version=v0.1" \
      -v "$(pwd)/compose:/project/compose" \
      -v "$(pwd)/docs:/project/input" \
      -v "$(pwd)/output:/project/output" \
      -i -t tlwt/sphinxneeds-docker


docker run --name buildTheDocs --rm \
      -e "Project=Flex4apps" \
      -e "Author=Till Witt, Johannes Berg, Alex Nowak" \
      -e "Version=v0.1" \
      -v "$(pwd)/compose:/project/compose" \
      -v "$(pwd)/docs:/project/input" \
      -v "$(pwd)/output:/project/output" \
      -i -t sphinx_image

glossary

API
Application programming interface
CPS
cyber-physical systems
CPU
Central processing unit
DNS
The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network.
DLT
A distributed ledger (also called a shared ledger or distributed ledger technology or DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions.
FTP
The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network.
HTTP
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems.
ICO
An initial coin offering (ICO) or initial currency offering is a type of funding using cryptocurrencies. Mostly the process is done by crowdfunding but private ICO’s are becoming more common.
LTS
long term support
MQTT
MQTT[2] (Message Queuing Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922)[3] publish-subscribe-based messaging protocol.
RAM
Random-access memory (RAM /ræm/) is a form of computer data storage that stores data and machine code currently being used.
REST
Representational State Transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services.
SDK
A software development kit (SDK or devkit) is typically a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar development platform.
SE
A Secure Element (SE) is a chip of a smartphone, part of the SIM card or other form factors. It provides the necessary security and confidentiality for mobile applications such as mobile commerce, mobile payment, mobile banking or mobile security.
SMTP
The Simple Mail Transfer Protocol (SMTP) is a communication protocol for electronic mail transmission.
SNMP
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior.
SSD
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies as memory to store data persistently. It is also sometimes called a solid-state device or a solid-state disk,[1] although SSDs do not have physical disks.
SSL
Transport Layer Security (TLS), and its now-deprecated predecessor, Secure Sockets Layer (SSL),[1] are cryptographic protocols designed to provide communications security over a computer network.
TCP
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite.
UDP
In computer networking, the User Datagram Protocol (UDP) is one of the core members of the Internet protocol suite.
YAML/YML
YAML (“YAML Ain’t Markup Language”) is a human-readable data-serialization language.