1. Docker
1.1 首先需要安装 Docker
1.2 运行 Docker 命令
1
  | docker run busybox echo "Hello world"
  | 
运行镜像
1
  | docker run <image>:<tag>
  | 
- Docker 支持同一镜像的多个版本
 - 每个版本必须有唯一的 tag 名
 - 当引用镜像没有显示指定 tag 的时候,Docker 会默认指定 tag 为 latest
 
1.3 为镜像创建 Dockerfile
1.4 构建容器镜像
列出本地存储的镜像
1.5 运行容器镜像
1
  | docker run --name kubia-container -p 8080:8080 -d kubia
  | 
- –name Assign a name to the container 命令可以为容器设置一个名字
 - -p Publish all exposed ports to random ports 本机的 8080 端口会被映射到容器内的 8080 端口
 - -d Run container in background and print container ID 在后台运行
 
列出所有运行中的容器
docker ps 只会展示容器的大部分基础信息。可以使用 docker inspect 查看更多的信息
1
  | docker inspect [OPTIONS] NAME|ID [NAME|ID...]
  | 
1.6 在已有的容器内部运行 shell
镜像里需要有可用的 shell 二进制可执行文件
1
  | docker exec -it kubia-container /bin/bash
  | 
-it 选项是下面两个选项的简写
- -i,确保标准输入流保持开放。需要在 shell 中输入命令
 - -t,分配一个伪终端(TTY)
 
列出所有进程
1.7 停止和删除容器
停止
1
  | docker stop kubia-container
  | 
删除
1
  | docker rm kubia-container
  | 
1.8 向镜像仓库推送镜像
这个命令不会重命名标签,而是给同一个镜像创建一个额外的标签
1
2
3
  | docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag kubia wyyl1/kubia
  | 
向 Docker Hub 推送镜像
1
  | docker push wyyl1/kubia
  | 
推送成功后,任何人都可以使用
1
2
3
  | docker run wyyl1/kubia
docker run -p 8080:8080 -d luksa/kubia
  | 
2. 用 Minikube 运行一个本地单节点 Kubernetes 集群
minikube start
下载不到镜像时推荐方案:
- 设置 Docker 代理
 - 设置 Minikube 代理
官方文档 Proxies and VPNs
 
可尝试方案
国内环境启动可以尝试(摘自:
minikube国内镜像拉取问题处理(2021年最简单的方法))
1
  | minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
  | 
查看具体说明
安装 Kubernets 客户端(kubectl)
展示集群信息
遇到奇怪的问题时,尝试删除 minikube 后重试
1
2
  | minikube delete
rm -rf ~/.minikube
  | 
进入 Minikube VM 内部命令
3. 在 Kubernetes 上运行第一个应用
kubectl run 命令部署程序
1
  | kubectl run kubia --image=luksa/kubia --port=8080
  | 
- –image=luksa/kubia:指定要运行的容器镜像
 - –port=8080:告诉 Kubernetes 应用正在监听 8080 端口
 
1
  | kubectl expose deployment kubia --type=LoadBalancer --port=8080 --name=kubia-http
  |