Таким образом, у меня есть установка две Ubuntu Экземпляры AWS (маленький t2.medium и большой r3.large). t2.medium имеет Jenkins, CI, установленному на нем и r3.large, установили механизм докера на нем. Намерение здесь состоит в том, чтобы иметь Ведущее устройство (t2.medium) сервер и Ведомое устройство (r3.large) сервер; где главный сервер может делегировать контейнеры докера для заданий (вращение jenkins контейнеры докера по мере необходимости).
Моя проблема состоит в том, что я - способ по голове с этим. Я исследовал вокруг, но почти что-либо я делаю сбои на мне.
Моя текущая ситуация: Как я упомянул выше, у меня есть jenkins, успешно работающий на одном экземпляре и механизме докера, успешно работающем на другом. У меня также есть плагин докера, найденный здесь, установленный на jenkins, и я следовал инструкциям, которые находятся на той странице к зубам. Однако то, когда я добавляю облако и добавляю учетные данные единственная вещь, это показывает, "-ни-один"; однако те же самые учетные данные обнаруживаются внизу.
Вот снимок экрана того, о чем я говорю:
Проблема с этим состоит в том, что каждый раз я тестирую соединение, я получаю следующую ошибку:
shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused
.
Любая справка очень ценилась бы! Я шел в этом больше недели! И я просто не в состоянии перенести голову вокруг этого.
Править: Если я иду об этом неправильным путем, ведите меня о том, как достигнуть намеченной установки.
EDIT2: Все порты открыты между теми двумя экземплярами.
Вот снимок экрана группы безопасности:
EDIT3: Вот мои изображения докера:
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
Хорошо, это не полностью решает мою проблему, однако это жизнеспособный ответ на shaded.org.apache.http.conn.HttpHostConnectException: Подключитесь к 10.96.24.240: 4243 [/10.96.24.240] не удалось: в соединении отказано
проблема. Моя проблема заключалась в том, что я не добавил следующий код в /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
Я также поставил 1.8.1
для версии Docker
, которая является клиентской версией. Вместо этого должна быть версия API, которая в настоящее время 1.20
.
Я надеюсь, что это поможет любому новичку вроде меня. :)
РЕДАКТИРОВАТЬ: Файл конфигурации Docker немного изменился с тех пор, как я опубликовал это, вот как теперь выглядит мой docker.conf:
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
Итак, единственное, что нужно сделать сейчас, это просто добавить -H tcp: //0.0.0.0: 4243 -H unix: ///var/run/docker.sock
до DOCKER_OPTS