/ HOWTO

Instalando Docker en Linux.


Como instalar Docker en las Distribuciones mas comunes (Linux).

La instalación de Docker difiere en cada sistema operativo y debemos asegurarnos que no haya versiones anteriores instaladas.

Docker funciona en modo Servidor-Cliente, dependiendo del Sistema Operativo que tengamos los comandos son distintos, Según la distro de Linux podemos tener distintas versiones de Docker.

Existen versiones anteriores que debemos quitar (docker.io, docker-engine, docker-selinux, docker-common)


Remover instalaciones anteriores: f23d1


En Debian/Ubuntu y Derivados

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
# sudo apt-key fingerprint 0EBFCD88
pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <[email protected]>
sub   4096R/F273FCD8 2017-02-22
# sudo add-apt-repository \
>    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"

Comando para instalar la versión “Community” de Docker

# apt install docker-ce

En Manjaro/Arch y derivados

# pacman -S docker
warning: docker-1:17.09.0-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) docker-1:17.09.0-1

Total Installed Size:  95,30 MiB
Net Upgrade Size:       0,00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                  [##################################] 100%
(1/1) checking package integrity                                [##################################] 100%
(1/1) loading package files                                     [##################################] 100%
(1/1) checking for file conflicts                               [##################################] 100%
(1/1) checking available disk space                             [##################################] 100%
:: Processing package changes...
(1/1) reinstalling docker                                       [##################################] 100%
:: Running post-transaction hooks...
(1/2) Updating system user accounts...
(2/2) Arming ConditionNeedsUpdate...

En RedHat/Centos y derivados.

# yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# yum-config-manager --enable docker-ce-edge
# yum install docker-ce
Running transaction
  Installing : libcgroup-0.41-13.el7.x86_64                                                                    1/11
  Installing : setools-libs-3.3.8-1.1.el7.x86_64                                                               2/11
  Installing : python-IPy-0.75-6.el7.noarch                                                                    3/11
  Installing : checkpolicy-2.5-4.el7.x86_64                                                                    4/11
  Installing : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                              5/11
  Installing : audit-libs-python-2.7.6-3.el7.x86_64                                                            6/11
  Installing : libseccomp-2.3.1-3.el7.x86_64                                                                   7/11
  Installing : libsemanage-python-2.5-8.el7.x86_64                                                             8/11
  Installing : policycoreutils-python-2.5-17.1.el7.x86_64                                                      9/11
  Installing : 2:container-selinux-2.21-2.gitba103ac.el7.noarch                                               10/11
  Installing : docker-ce-17.10.0.ce-1.el7.centos.x86_64                                                       11/11
Installed:
  docker-ce.x86_64 0:17.10.0.ce-1.el7.centos
Complete!

Luego reiniciar el servidor Docker.

# systemctl restart docker

Y verificar que tengamos funcionando la última versión, con el parámetro “version” nos dirá la versión del servidor y la del cliente.

# docker version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:18 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:40:56 2017
 OS/Arch:      linux/amd64
 Experimental: false
# docker version
Client:
 Version:      17.10.0-ce
 API version:  1.33
 Go version:   go1.8.3
 Git commit:   f4ffd25
 Built:        Tue Oct 17 19:04:05 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.10.0-ce
 API version:  1.33 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   f4ffd25
 Built:        Tue Oct 17 19:05:38 2017
 OS/Arch:      linux/amd64
 Experimental: false

Verificando el cliente instalado: f23d1


Estos comandos además nos confirman que no hay datos anteriores.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
# docker volume ls
DRIVER              VOLUME NAME

En caso de tener información vieja, podemos borrar todo con :

# rm /var/lib/docker -R

También es posible borrar todo con

# docker system prune

Recordar hacer “restart” luego para que el Servidor comience desde cero.

# systemctl restart docker

Subscríbete y recibirás los últimos artículos semanalmente en tu email.