Win10 专业版/企业版
1.1 Docker
下载 Docker:https://hub.docker.com/editions/community/docker-ce-desktop-windows
为了下载 Docker,你必须先注册账号并登录。
如果你之前下载过 Docker Toolbox,可能会出现“could not read CA certificate “C:\Users\username\.docker\machine\machines\default\ca.pem”: open C:\Users\yqiu29.docker\machine\machines\default\ca.pem: The system cannot find the file specified.” 的错误,解决方式如下:
控制面板 -> 系统与安全 -> 系统 -> 高级系统设置 -> 环境变量,删除掉以“DOCKER_”开头的四个环境变量。接下来在 Powershell 里输入如下命令:
docker-machine env -u
结果的最后一行将提示您如何设置环境,复制环境,然后执行它。复制第二个红色框和符号以及以下内容,将其复制并运行。
1.2 下载 Kubectl:
https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/windows/amd64/kubectl.exe
1.3 下载 minikube:
https://github.com/kubernetes/minikube/releases
1.4 将下载好的 minikube 和 kubectl 移动到同一文件夹下并添加文件夹所在路径至环境变量中
2.1 开启 Hyper-V
控制面板 -> 程序 -> 打开或关闭 Windows 特性 -> 选择 Hyper-V -> 点击 OK,之后你需要重启电脑
2.2 打开 Hyper-V Manager -> Virtual Switch Manager
2.3 点击 New virtual network switch 新建交换机
使用如下命令:
minikube start --registry-mirror=https://registry.docker-cn.com --vm-driver="hyperv" --memory=4096 --hyperv-virtual-switch="MinikubeSwitch"
如果出现报错,使用 “minikube delete” 删除之前下载的东西,并删除掉 “.Minikube”文件夹,接着再次运行之前的命令。
可以使用如下命令打开 Kubernetes 控制台:
minikube dashboard
4.1 举一个简单的例子,先写一个小的服务:
var http = require('http');
var handleRequest = function(request, response) {
console.log('Received request for URL: ' + request.url);
response.writeHead(200);
response.end('Hello World!');
};
var www = http.createServer(handleRequest);
www.listen(8080);
4.2 编写 Dockerfile:
FROM node:6.14.2
EXPOSE 8080
COPY server.js .
CMD node server.js
4.3 创建镜像
# docker image build -t [image-name]:[tag] .
docker image build -t test:0.0.1 .
最后一个点表示Dockerfile文件所在的路径。 在上面的示例中,它是当前路径,因此它是一个点
4.4 创建容器
# docker container run --rm -p [local port]:[container port] -i -t [image-name]:[tag]
docker container run --rm -p 8000:8080 -i -t test:0.0.1
4.5 发布镜像
# Log in to the docker hub account
$ docker login
# Next, mark the local image with the username and version.
# docker image tag [imageName] [username]/[repository]:[tag]
$ docker image tag test:0.0.1 mumuain/test:0.0.1
# You can also rebuild the image file without marking the username.
$ docker image build-t [username]/[repository]:[tag] .
# Finally,release the image
# docker image push [username]/[repository]:[tag]
$ docker image push mumuain/test:0.0.1
Create Deployment
kubectl create deployment --image=
kubectl get deployments
kubectl get pods
kubectl expose deployment --type=LoadBalancer --port=8080
kubectl get services
minikube service hello-node
kubectl delete service hello-node
kubectl delete deployment hello-node
https://baijiahao.baidu.com/s?id=1591887487395526427&wfr=spider&for=pc
https://kubernetes.io/docs/tutorials/hello-minikube/
https://hackernoon.com/containerizing-a-node-js-api-using-docker-with-kubernetes-and-minikube-30255fd33ef9