Instalar y mantener actualizado docker en Ubuntu 20.04

Si queréis instalar Docker en Ubuntu 20.04, podéis hacerlo desde los repositorios de la distribución, simplemente ejecutando:

sudo apt update && sudo apt -y install docker.io

Ahora bien, si queréis instalar una versión más reciente, os recomendamos utilizar https://get.docker.com

Si abrís dicha URL en el navegador, veréis el contenido del script que nos permite obtener docker e instalarlo en nuestro equipo.

Y, si observáis las primeras líneas del archivo, entre comentarios, encontraréis las opciones de instalación.

En este post vamos a instalar la versión del canal estable, por lo tanto, ejecutaremos el siguiente comando para descargar el script:

curl -fsSL https://get.docker.com -o get-docker.sh

Una vez descargado, lo ejecutamos:

sh get-docker.sh

Si observáis el proceso, comprobaréis que, lo primero que hace, es añadir la clave pública del repositorio (https://download.docker.com/linux/ubuntu/gpg) al anillo de claves, y, a continuación, añade el repositorio al archivo /etc/apt/sources.list.d/docker.list.

Al finalizar la instalación, veréis un mensaje como el siguiente en el que os informa de lo que debemos hacer si queremos correr el demonio de docker como un usuario no privilegiado o como un servicio privilegiado:

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

En nuestro caso, que, al menos de momento, vamos a usarlo solamente con nuestro usuario. Así que ejecutamos el siguiente comando:

dockerd-rootless-setuptool.sh install

Si al ejecutar el comando anterior, os tira un error como el siguiente:

[ERROR] Missing system requirements. Run the following commands to
[ERROR] install the requirements and run this tool again.

########## BEGIN ##########
sudo sh -eux <<EOF
# Install newuidmap & newgidmap binaries
apt-get install -y uidmap
EOF
########## END ##########

Se debe a que en vuestro sistema no se encuentra instalado el paquete uidmap, que proporciona los ejecutables newuidmap y newgidmap.

Instaladlo y listo:

sudo apt-get install -y uidmap

Una vez instalado, volved a ejecutar el comando:

dockerd-rootless-setuptool.sh install

Con ésto, el instalador creará el servicio para vuestro usuario.

Una vez instalado y configurado, podéis comprobar que todo ha ido bien, simplemente ejecutando el comando docker info con sudo:

sudo docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: d71fcd7d8303cbf684402823e425e9dd2e99285d
 runc version: v1.0.0-0-g84113ee
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.8.0-59-generic
 Operating System: Ubuntu 20.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 15.52GiB
 Name: conector
 ID: CT4C:BAQI:PF7Z:IP5A:GYBS:DPIC:YBJZ:QNIC:OO72:WTWD:P6PA:FQBV
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Como podéis comprobar, el comando anterior nos ofrece gran cantidad de información, como los contenedores que tenemos en nuestro sistema, así como los que se encuentran corriendo, pausados o parados, las versiones del servidor y del cliente, etc...

Be the first to comment

Por favor acceder para comentar.