Docker Essentials

Today I am hoping to learn a little about Docker, and I have found this series of four articles I intend to read:

I will also need to do some reading on Docker and MySQL.

Also Leo says: btw about docker, I’d prefer not to create new images for docker hub, I’d rather have the images get built directly on the server where it’s running. All from a single docker compose file, so probably just with docker compose build paths. Yes, ok so:

  • I want a docker-compose.yml file in a folder, which would automatically build/start the relevant services
  • leave room for an .env file with options like port and other relevant stuff (https://docs.docker.com/compose/environment-variables/)
  • make the wiki image get built using a Dockerfile, probably located in one of the subfolders (https://medium.com/@zhao.li/how-to-understand-building-images-with-docker-compose-24cbdbc0641f)
  • docker containers are supposed to be immutable (they arent, but should be treated as if they are). So make sure the docker-compose file lists all the relevant volume mounts (using relative paths on the host, so that they end up in the same folder as the docker compose file) to things like the database and other persistent data

though I guess the more general requirements would be:

  • It should all be contained in a single folder (again, with a docker-compose.yml at the root of it most likely)
  • I should be able to move the folder around wherever I want while the compose stack is down
  • The containers shouldn’t contain any persistent data. I should be able to start, stop, delete, re-build any containers in the stack (probably only one container, but maybe you’ll include more) without any data being lost.

Mapping mouse buttons to keys or commands in KDE Plasma

So see here: How can I map keyboard buttons to my mouse buttons?.

Some notes: run the `xev` program to open up an X11 window which reports on its inputs (keypresses etc).

Reload xbindkeys with: `killall xbindkeys && xbindkeys -f ~/.xbindkeysrc`

Edit the ~/.xbindkeysrc file to program mouse button events. Get the mouse button number from the `xve` command above.

Send multiple keypress events with `xte` with for example `xte ‘keydown Alt_L’ ‘key Tab’ ‘keyup Alt_L’`

At the moment my .xbindkeysrc looks like this:

"dolphin ~/desktop"
     b:9

"xte 'keydown Alt_L' 'key Tab' 'keyup Alt_L'"
     b:8

"konsole --profile localhost"
     b:10

"kstart5 --activate --window . firefox"
     b:2

Note: b:10 above doesn’t actually work with my ROG Gladius II mouse, there doesn’t seem to be a button for buttons 10 and 11. The extra thumb button on the left at the bottom is the “DPI target button”, it’s handled on the mouse and changes mouse sensitivity, it’s not sent as a button to the workstation. You can read more about the ROG Gladius II.