在Vagrant中创建docker swarm集群

时间:2015-06-18 15:53:21

标签: ubuntu vagrant virtual-machine docker-swarm

我正在尝试创建在Vagrant中运行的不同ubuntu VM的群集群集。 这些通过启动它们的vagrant文​​件启用了docker。在三个VM中,我按照以下方式在一台机器上启动了群集

docker pull swarm
docker run --rm swarm create

这返回了一个唯一的cluster_id。在另一个启用了vm的docker上,我执行了以下步骤

  1. 停止docker守护程序

    sudo service docker stop

  2. 使用-H标志启动守护程序

    sudo docker -H tcp://0.0.0.0:2375 -d

  3. 这给出了以下

        INFO[0000] +job init_networkdriver()
        INFO[0000] +job serveapi(tcp://0.0.0.0:2375)
        INFO[0000] Listening for HTTP on tcp (0.0.0.0:2375)
        INFO[0000] /!\ DON'T BIND ON ANY IP ADDRESS WITHOUT setting -tlsverify IF        YOU DON'T KNOW WHAT YOU'RE DOING /!\
        INFO[0000] -job init_networkdriver() = OK (0)
        INFO[0000] Loading containers: start.
    
        INFO[0000] Loading containers: done.
        INFO[0000] docker daemon: 1.6.2 7c8fca2; execdriver: native-graphdriver:aufs
        INFO[0000] +job acceptconnections()
        INFO[0000] -job acceptconnections() = OK (0)
        INFO[0000] Daemon has completed initialization
    

    在此之后,我开始与此节点的另一个会话,并希望运行以下命令:

    sudo docker run -d swarm join --addr=<node_ip:2375> token://<cluster_id>
    

    在这种情况下,节点ip是什么?在这个VM上使用arp -an给了我三个IP,其中一个是可访问的

1 个答案:

答案 0 :(得分:1)

在评论中显示swarm/discovery

public void displayImageGlide(String url, ImageView imageView) {
    Glide.with(this).load(url)
            .asBitmap().transform(new CustomTransformation(this))
            .skipMemoryCache(true)
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .into(imageView);
}

private static class CustomTransformation extends BitmapTransformation {

    public CustomTransformation(Context context) {
        super(context);
    }

    @Override
    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
        return bitmapChanger(toTransform, outWidth, outHeight);
    }

    @Override
    public String getId() {
        return "some_id_1";
    }

}

private static Bitmap bitmapChanger(Bitmap bitmap, int desiredWidth, int desiredHeight) {
    float originalWidth = bitmap.getWidth();
    float originalHeight = bitmap.getHeight();

    float scaleX = desiredWidth / originalWidth;
    float scaleY = desiredHeight / originalHeight;

    //Use the larger of the two scales to maintain aspect ratio
    float scale = Math.max(scaleX, scaleY);

    Matrix matrix = new Matrix();

    matrix.setScale(scale, scale);

    //If the scaleY is greater, we need to center the image
    if(scaleX < scaleY) {
        float tx = (scale * originalWidth - desiredWidth) / 2f;
        matrix.postTranslate(-tx, 0f);
    }

    Bitmap result = Bitmap.createBitmap(desiredWidth, desiredHeight, bitmap.getConfig() != null ? bitmap.getConfig() : Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(result);
    canvas.drawBitmap(bitmap, matrix, new Paint());
    return result;
}

node_ip 它是群集新节点的IP地址。