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:
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:
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