所以我build立了两个Ubuntu AWS实例(一个小的t2.medium和一个大的r3.large)。 t2.medium上安装了Jenkins CI,r3.large上安装了docker引擎。 这里的意图是有一个主(t2.medium)服务器和一个从(r3.large)服务器; 主服务器可以委托docker集装箱作业(根据需要旋转jenkinsdocker集装箱)。
我的问题是,我有点比这个我的头。 我一直在研究,但是我所做的几乎所有事情都是失败的。
我现在的情况是:就像我上面提到的,我有jenkins成功运行在一个实例,docker引擎成功运行在另一个。 我也有在这里find的docker插件,安装在jenkins上,我已经按照页面上的说明操作。 但是,当我添加一个云和添加凭证时,唯一显示的是“-none-”; 然而,相同的证书显示在底部。
这是我正在谈论的一个截图:
这个问题是,每次我testing连接时,我得到以下错误:
shaded.org.apache.http.conn.HttpHostConnectException: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused 。
任何帮助将非常感激! 我已经去了一个多星期了! 而我只是无法把这个包裹起来。
编辑:如果我以错误的方式去做,请指导我如何实现预期的设置。
编辑2:所有端口之间打开这两个实例。
以下是安全组的屏幕截图:
编辑3:这是我的docker图片:
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: Connect to 10.96.24.240:4243 [/10.96.24.240] failed: Connection refused问题。 我的问题是,我没有将以下代码添加到/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
我也把Docker Version 1.8.1作为客户端版本。 相反,它应该是当前1.20的API版本。
我希望这能帮助像我这样的初学者。 🙂
编辑:Docker conf文件已经改变了一点点,因为我已经发布了这个,这里是我的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