Memgraph 1.6.0 returns error "does not match the detected host platform" on Docker run when using Apple M1 - memgraphdb

I inherited a Memgrpah 1.6.0 based project. When I try to run the docker on my M1 power Apple I get the following error message:
m1lap ~> docker run -p 7687:7687 memgraph/memgraph
WARNING: The requested image's platform (linux/amd64) does not match the
detected host platform (Linux/arm64/v8) and no specific platform was requested
You are running Memgraph v1.6.0-community
What can I do about this?

Docker support for running Memgraph on Apple M1 machines was added in Memgraph 2.2. You will need to obtain Memgraph 2.2 (or newer) and transfer your data from existing Memgraph 1.6.

Related

How can I find out the version of the running Memgraph docker instance?

When I start Docker instance of Memgraph Platform I can see the following in CLI:
Status: Downloaded newer image for memgraph/memgraph-platform:latest
Memgraph Lab is running at localhost:3000
mgconsole 1.1
Connected to 'memgraph://127.0.0.1:7687'
Type :help for shell usage
Quit the shell by typing Ctrl-D(eof) or :quit
memgraph>
When I connect with Memgraph Lab to that same instance I can see the version of Memgraph Lab.
So I can see that mgconsole is 1.1, Memgraph Lab is 2.0.1, but what about MemgraphDB? How can I see the version of MemgraphDB?
You can see the MemgraphDB version by running the SHOW VERSION; command. The command is the same whether you are using mgconsole or Memgraph Lab

IBM MQ for Apple Silicon

Is there a solution to make this docker image https://hub.docker.com/r/ibmcom/mq run on Apple M1 chips? For Intel chips, I was able to run this image by:
docker run -e LICENSE=accept -e MQ_QMGR_NAME=QM1 -p 1414:1414 -p 9443:9443 ibmcom/mq
Is there a custom build or an official IBM plan to create an Apple M1 compatible version of this image?
This has already been requested from IBM, you can view and vote on it here.
The only way I got this to work is to emulate Ubuntu Server with UTM, and install docker and IBMMQ image there. Then you can just connect to the docker container through UTM from your host machine. Not the greatest solution, but atleast a workaround for now.
I don't have an M1 mac, so I can't test it but according to this, it says you can try adding --platform linux/amd64.
If that doesn't work then you'll have to build your own (you can base it off the Dockerfile they provided in their GitHub repo. The ones from the official Dockerhub only supports amd64 and s390x architectures.

Setting Up Chainlink Node with Linux Arm64 Chrome duet

I want to set up a chainlink node. I have a chrome duet linux Arm64. does this prevent me from setting up Chainlink node.
I installed Docker.
I set up the environment, ethereum feed, and database per docs.
Then I run this command:
cd ~/.chainlink-rinkeby && docker run -p 6688:6688 -v ~/.chainlink-rinkeby:/chainlink -it --env-file=.env smartcontract/chainlink:0.10.9 local n
I choose a version from Chainlink Hub link. But all I can see is AMD64.
This is the output I get:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error
Does anyone know what I can do next? thanks
All of the supported systems are listed on the docker page. If your system isn't supported, perhaps you can try installing go etc and trying to build from source?

Install kubeadm in macOS

How to install kubeadm for Kubernetes in macOS. When tempting to use
brew install kubeadm
I get this error
Error: No available formula with the name "kubeadm"
==> Searching for a previously deleted formula (in the last month)..
NB : In macOS I can't use apt-get
Not sure about MAC OS
The supported platforms on their list are:
Ubuntu 16.04+
Debian 9
CentOS 7
RHEL 7
Fedora 25/26 (best-effort)
HypriotOS v1.0.1+
Container Linux (tested with 1800.6.0)
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
KubeAdm is not for Desktop local environment.
You can install Docker For MAC that will install the minikube environment for you.
You are not able to directly install kubeadm and set up kubernetes cluster locally on MAC OS because of docker.
Unfortunately for MAC we should have VirtualBox where Docker will run + boot2docker.
And the best option here(as #Ijaz Ahmad Khan mentioned) is to use Docker Desktop for Mac
You can use below guide to correctly configure your cluster: How to Install Kubernetes on Mac
At the moment kubernetes server components doesn't ship any Darwin OS(MAC OS) binaries so the control plane component can't directly run under MACOS. Although they ship kubectl for Darwin OS which can use any API Server to connect to and deploy the applications.
However I was able to run the Hyperkube Binary inside the container that can support the all control plane components but this would all be under docker container so that isn't essentially a Darwin OS supported Control Plane.
You can try this if you just want to use local installs:
https://github.com/kubernetes/kubernetes/tree/master/cluster/images/hyperkube
also If you are really looking to do everything in MAC , then possibly Install Hyperkit driver and that will allow you do pretty much the same thing to pull up the control plane images and built it up.
Damn, since this is 3 years old question, might be too late but you can use cluster on MacOS with using brew install kind.
Kind is short for Kubernetes IN Docker.
Here the documentation on more details about kind.
https://kind.sigs.k8s.io/

Permissions problems with openshift client on minishift

I have installed minishift with cask and openshift client with homebrew.
However, as developer user, I am not able to create a project from openshift cli, trigger a build, etc. I always have permissions errors :
Error from server (Forbidden): User "developer" cannot list all project.openshift.io.projectrequests in the cluster
Error from server (Forbidden): User "developer" cannot list authorization.openshift.io.rolebindings in project "my_awesome_project"
Error from server (Forbidden): User "developer" cannot create build.openshift.io.buildconfigs/instantiatebinary in project "my_awesome_project"
However, I am able to create projects from the UI. How can I grant developer user permissions from the command line ?
I am using MacOS High Sierra:
➜ minishift version
minishift v1.15.1+a5c47dd
➜ oc version
oc v3.9.0+191fece
kubernetes v1.9.1+a0ce1bc657
features: Basic-Auth
Server https://192.168.99.100:8443
openshift v1.5.0-rc.0+49a4a7a
kubernetes v1.5.2+43a9be4
You should downgrade your client or upgrade your minishift version to match if possible, as they are not 100% API compatible.
You can use the minishift oc binary in an easy way, so you still preserve you're other client if needed (maybe you need to run multiple versions). To do that do:
localhost# eval $(minishift oc-env)
This will execute:
export PATH="/Users/me/.minishift/cache/oc/v3.7.2/darwin:$PATH"
In this way, you'll always be using the same client version as your minishift instance.
The version of oc that you are using (3.9) is not compatible with the server (1.5 / 3.5). Use a newer version of Openshift or downgrade oc to 3.6.

Resources