Este tutorial de dockers , se realizo pruebas en un equipo virtual con redhat 6
Se requiere usar los paquetes que están en epel
$yum install docker-io
Iniciamos el servicio y se añade al auto inicio:
$/etc/init.d/docker start
$chkconfig docker on
Si el equipo en el que requerimos el docker cuenta con Internet podemos descargarlo de la siguiente manera:
#Busca imagenes
$docker search debian
#Descarga una imagen
$docker pull debian
Ahora si contamos con una imagen de forma local o es posible conectar el equipo a internet, podemos crear la imagen o descargarla de algún repo
- Repositorio donde descargar imagenes
https://hub.docker.com/explore/
https://hub.docker.com/_/debian/
Para importar nuestra imagen puede realizarse de la siguiente forma
$cat debian_squid.tar.gz |docker import - debian-squid
Ahora podemos visualizar nuestra imagen
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
debian-squid latest 074db2704fe9 10 days ago 228 MB
Se procede a iniciar la imagen direccionando a un puerto, en este caso a un proxy cache
$docker run -p 3129:3128 -d -i -t debian-squid /bin/bash
Una vez inicializada la imagen del contenedor , podemos instalar los paquetes requeridos, squid, se realiza su configuracion
Para volver a ingresar al contenedor del docker se requiere saber su id
$docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9b35b6f16b74 debian-squid "/bin/bash" 10 days ago Up 10 days 0.0.0.0:3129->3128/tcp cocky_jones
Ya que se conoce el id se ingresa de la siguiente forma:
$docker exec -it 9b35b6f16b74 bash
[root@iusatec ~]# docker exec -it 9b35b6f16b74 bash
root@9b35b6f16b74:/#
Una vez que tengamos un contenedor con el sw requerido podemos exportarlo o realizar una copia
Exportar
$docker export debian-squid |gzip > debian_squid.tar.gz
Realizar un commit
$docker commit 9b35b6f16b74 debian01
En el firewall la configuracion la realiza docker
$iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DOCKER all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 172.17.0.1 tcp dpt:3128
Podemos ver que el docker- proxy esta escuchando
$netstat -tupln
tcp 0 0 :::3129 :::* LISTEN 14946/docker-proxy
Esto es lo basico que se requiere para trabajar con contenedores linux