Docker Basic Setup
From WikiMLT
Docker Installation Steps
This section we gives fresh (Feb. 2023) references how to install Docker and Docker Compose plugin v.2.x on Ubuntu.
- Docker Docs: Install Docker Engine on Ubuntu >> Uninstall old versions >> Install using the repository
- Docker Docs: Install the Compose plugin >> Install using the repository
- LinuxServer.io Docs: As an additional Docker usage reference and source of plenty of images
Deprecated Docker Installation Steps
Install Docker
Install Docker on Ubuntu and other Debian based distros.
sudo apt install docker.io curl
sudo usermod -aG docker "$USER"
References:
- Stack Overflow: What is docker.io in relation to docker-ce and docker-ee (now called "Mirantis Kubernetes Engine")?
- Collabora.com: The docker.io Debian package is back to life
Install Docker Compose
More information at Get started with Docker Compose.
# docker-compose from github.com/docker/compose#where-to-get-docker-compose
sudo curl -L --fail \
https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Alternatively, for example, one can use Docker-compose provided by Linuxserver.io.
#CLI
# docker-compose from linuxserver.io
sudo curl -L --fail \
https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh \
-o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose
Basics Example
Here is a GitHub repository that illustrates at very basic level how to use Dockerfile
and docler-compose.yaml
to deploy a Node.js application.
- GitHub: Simple task manager
- GitHub: Simple task manager#CLI.md
Miscellaneous
Prune All
Simple script that will prune all Docker containers and images that are not in use. If you want to use it, add the script somewhere in your $PATH
to be accessible as shell command and make it executable.
sudo nano /usr/local/bin/docker-prune.sh && sudo chmod +x /usr/local/bin/docker-prune.sh
#!/bin/bash
docker image prune -a
docker container prune
docker images prune
docker system prune
docker volume rm $(docker volume ls -qf dangling=true)
Force update existing images with docker-compose
docker-compose up --force-recreate --build -d
docker image prune -f
- Stack Overflow: How to update existing images with docker-compose?
Log-in to a Docker Container
docker exec -it container(id|name) /bin/bash
Generate Hashed Password for Code-server
printf 'your-password' | npx argon2-cli -e | sed 's/\$/$$/g'
- Code-server GitHub: FAQ – Can I store my password hashed?
Demo App from Nana's Docker Tutorial for Beginners
- TechWorld with Nana: Docker Tutorial for Beginners [FULL COURSE in 3 Hours] (Docker Tutorial for Beginners)
- GitLab of Nana: techworld-js-docker-demo-app