From the command line, sample
docker ai can I containerize this application?
Docker has an Docker MCP Toolkit
https://www.docker.com/blog/announcing-docker-mcp-catalog-and-toolkit-beta/

Technical notes, and other ideas.
From the command line, sample
docker ai can I containerize this application?
Docker has an Docker MCP Toolkit
https://www.docker.com/blog/announcing-docker-mcp-catalog-and-toolkit-beta/
Remember when you export dBeaver settings some of the files are hidden, which means they start with a period.
AI Search Enging
https://www.perplexity.ai/search
AI IDE Editor built on Visual Studio Code
https://www.cursor.com/
You can cmd+tab, and then while still holding command press Q over any app you want to quit, and then tab onto the next
When using menu libre you want it to pickup the new application settings, right away.
#!/bin/bash
# Show a notification that the app is launching
notify-send "Refreshing ~/.local/share/applications/"
update-desktop-database ~/.local/share/applications/
Search for
Wi-Fi Hotspot To Go
Refer:
Raw:
https://sno-isle.bibliocommons.com/v2/search?query=Wi-Fi%20Hotspot%20To%20Go&searchType=smart
GUI Text Search Tool
sudo apt install searchmonkey
If the application icon is missing, try the following:
sudo nano /usr/share/applications/searchmonkey.desktop
Use the following image, verify it exists.
/usr/share/icons/hicolor/48x48/apps/searchmonkey.png
Refer: https://computingforgeeks.com/scan-docker-container-images-with-trivy/
Trivy DEB Installation File: https://github.com/aquasecurity/trivy/releases
Usage
docker images
trivy image 4ee077227828
You need ssh access on remote server via authorized_keys
Get your public key
cat ~/.ssh/id_rsa.pub
Logon to your target server and install your public key
cat >> ~/.ssh/authorized_keys
Make sure authorized_keys has proper permission; otherwise it won't work
chmod 600 ~/.ssh/authorized_keys
Prerequisites
You will need to create a Docker Context
Refer: https://stackoverflow.com/questions/60425053/vs-code-connect-a-docker-container-in-a-remote-server
Here's an example of one
docker context create macbook-parallels --docker "host=ssh://mruckman@192.168.86.34"
Now you need to use this context, any Docker command you run, will be against that remote server, once context is used
docker context use macbook-parallels
Now launch Visual Studio Code, you will see your remote container and images now. Launch your desired remote container, and you can now attach to it.
If you want to revert back to your local Docker context
docker context use default
Other helpful context commands
List all of your contexts
docker ls
Remove a context
docker rm context-to-remove
Simple way to write to host as current user
Refer: docker-shared-permissions
docker create --name ubuntu1804 \
--net=host \
-v ${PWD}:/home \
--user "$(id -u):$(id -g)" \
-it mruckman/ubuntu1804:201001
docker start ubuntu1804
docker exec -it ubuntu1804 /bin/bash
docker stop ubuntu1804
docker rm ubuntu1804
Or you can build you container where you pass in the credentials on the host machine.
Build the right image
Now it gets more interesting. Here is how you can build, configure and run your Docker containers correctly, so you don’t have to fight permission errors and access your files easily.
As you should create a non-root user in your Dockerfile in any case, this is a nice thing to do. While we’re at it, we might as well set the user id and group id explicitly.
Here is a minimal Dockerfile which expects to receive build-time arguments, and creates a new user called “user”:
FROM ubuntu
ARG USER_ID
ARG GROUP_ID
RUN addgroup --gid $GROUP_ID user
RUN adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID user
USER user
Refer: add-user-to-docker-container for more info on adduser
We can use this Dockerfile, to build a fresh image with the host uid and gid. This image, needs to be built specifically for each machine it will run on to make sure everything is in order.
Then, we can run use this image for our command. The user id and group id are correct without having to specify them when running the container.
docker build -t myimage \
--build-arg USER_ID=$(id -u) \
--build-arg GROUP_ID=$(id -g) .
docker run -it --rm \
--mount "type=bind,src=$(pwd)/shared,dst=/opt/shared" \
--workdir /opt/shared \
myimage bash
No need to use “chown”, and no annoying permission errors anymore!