func JoinPathContainer(elem ...string) string {
	return strings.Join(elem, "/")
}
JoinPathContainer joins any number of path elements into a single path,
separating them with the Container OS specific Separator.
package volume
import (
	"archive/zip"
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"
	"github.com/lucor/fyne-cross/v2/internal/icon"
)
const (
	fyneCrossPrefix = "fyne-cross"
	binRelativePath  = "fyne-cross/bin"
	distRelativePath = "fyne-cross/dist"
	tmpRelativePath  = "fyne-cross/tmp"
	binDirContainer     = "/app/" + binRelativePath
	cacheDirContainer   = "/go"
	goCacheDirContainer = "/go/go-build"
	distDirContainer    = "/app/" + distRelativePath
	tmpDirContainer     = "/app/" + tmpRelativePath
	workDirContainer    = "/app"
)
func Copy(src string, dst string) error {
	data, err := ioutil.ReadFile(src)
	if err != nil {
		return err
	}
	return ioutil.WriteFile(dst, data, 0644)
}
func DefaultCacheDirHost() (string, error) {
	userCacheDir, err := os.UserCacheDir()
	if err != nil {
		return "", fmt.Errorf("cannot get the path for the system cache directory on the host %s", err)
	}
	return JoinPathHost(userCacheDir, fyneCrossPrefix), nil
}
func DefaultIconHost() (string, error) {
	wd, err := DefaultWorkDirHost()
	if err != nil {
		return "", err
	}
	return JoinPathHost(wd, icon.Default), nil
}
func DefaultWorkDirHost() (string, error) {
	wd, err := os.Getwd()
	if err != nil {
		return "", fmt.Errorf("cannot get the path for the work directory on the host %s", err)
	}
	return wd, nil
}
func Mount(workDirHost string, cacheDirHost string) (Volume, error) {
	var err error
	if workDirHost == "" {
		workDirHost, err = DefaultWorkDirHost()
		if err != nil {
			return Volume{}, err
		}
	}
	if cacheDirHost == "" {
		cacheDirHost, err = DefaultCacheDirHost()
		if err != nil {
			return Volume{}, err
		}
	}
	l := Volume{
		binDirHost:   JoinPathHost(workDirHost, binRelativePath),
		cacheDirHost: cacheDirHost,
		distDirHost:  JoinPathHost(workDirHost, distRelativePath),
		tmpDirHost:   JoinPathHost(workDirHost, tmpRelativePath),
		workDirHost:  workDirHost,
	}
	err = createHostDirs(l)
	if err != nil {
		return l, err
	}
	return l, nil
}