0

I have a docker image (usermanagement:latest) from which I normally create containers this way when I'm testing locally:

docker run --net "host" -p 8096:8096 -v $(pwd):/etc  usermanagement:latest -port 8096 -configfile /etc/config

Both port and configfile has default values and port's default value is 8096.

I can then simply reach it at localhost:8096/1/users/some_api. This gives me the flexibility of being able to create many containers of the same image listening to different ports.

Now, I've pushed this image into a private registry and want to use minikube which also has access to the registry (all good and fine).

Problem is I can't figure out how to specify networking options (--net or -p) or even volume option (-v) when creating a Kubernetes deployment.

I tried:

kubectl run usr --image=$REGISTRY_IP:80/usermanagement:latest --port=8096
kubectl expose deployment usr --target-port=8096 --type=NodePort

Where REGISTRY_IP is the IP of the private registry from which the image has already been pulled into the minikube's docker.

I've verified the service is created and exposed, but I can't reach (getting 404) the container in minikube using:

curl -v http://192.168.42.149:31900/1/users/some_api

Service's IP and port above came from:

kubectl get svc usr
minikube ip

Any help is appreciated.

4

0 回答 0