Skip to content

Instantly share code, notes, and snippets.

@fnovoac
Last active June 11, 2021 14:15
Show Gist options
  • Save fnovoac/8e9d9d407219a9d73f60e2789a4c831a to your computer and use it in GitHub Desktop.
Save fnovoac/8e9d9d407219a9d73f60e2789a4c831a to your computer and use it in GitHub Desktop.
#############################################
# Manage Docker as a non-root user
#############################################
# Create the docker group
sudo groupadd docker
# Add your user to the docker group
sudo usermod -aG docker $USER
# Log out and log back in so that your group membership is re-evaluated
newgrp docker
# Verify that you can run docker commands without sudo
docker run hello-world
# si sale: WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
#########################################################
# Configure Docker to start on boot
#########################################################
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
# para deshabilitar
sudo systemctl disable docker.service
sudo systemctl disable containerd.service
########################################################
# Specify DNS servers for Docker
########################################################
sudo nano /etc/docker/daemon.json
# si ya hay algo, agregar una coma
{
"dns": ["8.8.8.8", "8.8.4.4"]
}
sudo service docker restart
# Modificá tu docker config para que guarde los temps en el disco:
sudodit /etc/default/docker
## Agregar esta linea al final con la ruta de tu disco externo montado (storage = carpeta donde está montado el HH)
export DOCKER_TMPDIR="/mnt/storage/docker-tmp"
# list containers
docker ps -a
# run the services
docker-compose up -d
# Eliminar las imágenes, los contenedores, los volúmenes y las redes sin utilizar o pendientes.
docker system prune
# Para eliminar adicionalmente los contenedores detenidos y todas las imágenes no utilizadas (no solo aquellas pendientes)
docker system prune -a
# actualizar portainer
sudo docker pull portainer/portainer
sudo docker stop portainer
sudo docker rm portainer
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
sudo chmod a+rw /path/to/folder
################################################
# Eliminar imágenes de Docker
################################################
# Eliminar una o más imágenes específicas
## Enumerar:
docker images -a
## Eliminar:
docker rmi Image Image
# Eliminar imágenes pendientes
## Enumerar:
docker images -f dangling=true
## Eliminar:
docker images purge
# Eliminar imágenes según un patrón
## Enumerar:
docker images -a | grep "pattern"
## Eliminar:
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
################################################
# Detener y eliminar todos los contenedores
################################################
## Enumerar:
docker ps -a
## Eliminar:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
#################################################
# Revisar el IP que está usando el contenedor
#################################################
## actualizar "gluetun" por el nombre del contenedor
docker run --rm --network=container:gluetun alpine:3.12 wget -qO- https://ipinfo.io
docker run --rm --network=container:qbittorrent alpine:3.12 wget -qO- https://ipinfo.io
################################################
# Obtener el IP del host (raspberry)
################################################
curl -s ipinfo.io/ip
################################################
# verify that Docker containers can resolve an internal hostname by pinging it.
################################################
docker run --rm -it alpine ping -c4 <my_internal_host>
################################################
# generar la clave de usuario de NODE-RED (reemplazar PASSWORD por el password que queremos usar)
# referencia: https://sensorsiot.github.io/IOTstack/Containers/Node-RED/
################################################
docker exec nodered node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" PASSWORD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment