
Así que configuré dos instancias de Ubuntu AWS (una pequeña t2.medium y una grande r3.large). t2.medium tiene instalado Jenkins CI y r3.large tiene instalado el motor Docker. La intención aquí es tener un servidor Maestro (t2.medium) y un servidor Esclavo (r3.large); donde el servidor maestro puede delegar contenedores acoplables para trabajos (active los contenedores acoplables jenkins según sea necesario).
Mi problema es que estoy un poco perdido con este. He estado investigando pero casi todo lo que hago me falla.
Mi situación actual es: como mencioné anteriormente, tengo jenkins ejecutándose exitosamente en una instancia y el motor Docker ejecutándose exitosamente en la otra. También tengo el complemento Docker, encontradoaquí, instalado en jenkins y he seguido hasta los dientes las instrucciones que hay en esa página. Sin embargo, cuando agrego una nube y agrego credenciales, lo único que se muestra es "-ninguno-"; sin embargo, esas mismas credenciales aparecen en la parte inferior.
Aquí hay una captura de pantalla de lo que estoy hablando:
El problema con esto es que cada vez que pruebo la conexión me sale el siguiente error:
shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused
.
¡Cualquier ayuda sería muy apreciada! ¡He estado haciendo esto por más de una semana! Y simplemente no puedo entender esto.
EDITAR: Si lo hago de manera incorrecta, guíeme sobre cómo lograr la configuración deseada.
EDITAR2: Todos los puertos están abiertos entre esas dos instancias.
Aquí hay una captura de pantalla del grupo de seguridad:
EDITAR3: Aquí están mis imágenes de la ventana acoplable:
ubuntu@ip-10-96-24-240:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ubuntu@ip-10-96-24-240:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
jenkins-1 latest 9de6ee8eeebc 3 days ago 816.3 MB
ubuntu latest 8251da35e7a7 2 weeks ago 188.4 MB
jenkins latest 0c79d0a394dc 3 weeks ago 888 MB
evarga/jenkins-slave latest 8880612971b0 8 months ago 610.8 MB
Respuesta1
Ok, esto no satisface completamente mi problema, sin embargo, es una respuesta viable alshaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused
problema. Mi problema fue que no agregué el siguiente código a /etc/init/docker.conf
:
description "Docker daemon"
start on filesystem and started lxc-net
stop on runlevel [!2345]
respawn
script
/usr/bin/docker -H tcp://127.0.0.1:4243 -d
end script
yo también puse1.8.1
para Docker Version
cuál es la versión del cliente. En su lugar, debería ser la versión API que existe actualmente 1.20
.
Espero que esto ayude a cualquier principiante como yo. :)
EDITAR: El archivo Docker conf ha cambiado un poco desde que publiqué esto, así es como se ve mi docker.conf ahora:
pre-start script
# see also https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
if grep -v '^#' /etc/fstab | grep -q cgroup \
|| [ ! -e /proc/cgroups ] \
|| [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
(
cd /sys/fs/cgroup
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
)
end script
script
# modify these in /etc/default/$UPSTART_JOB (/etc/default/docker)
DOCKER=/usr/bin/$UPSTART_JOB
DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi
exec "$DOCKER" daemon $DOCKER_OPTS
end script
# Don't emit "started" event until docker.sock is ready.
# See https://github.com/docker/docker/issues/6647
post-start script
DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'
if [ -f /etc/default/$UPSTART_JOB ]; then
. /etc/default/$UPSTART_JOB
fi
if ! printf "%s" "$DOCKER_OPTS" | grep -qE -e '-H|--host'; then
while ! [ -e /var/run/docker.sock ]; do
initctl status $UPSTART_JOB | grep -qE "(stop|respawn)/" && exit 1
echo "Waiting for /var/run/docker.sock"
sleep 0.1
done
echo "/var/run/docker.sock is up"
fi
end script
Entonces lo único que hay que hacer ahora es simplemente agregar-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock
agregarDOCKER_OPTS