docker和minikube

什么是Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

和虚拟机的区别

image

组成

Docker是一个C/S结构,由镜像,容器和仓库组成
容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象。

应用场景

  • 简化配置
  • 提高开发效率,不用部署环境
  • 快速部署
  • 代码流水线
  • 开发调试
  • 产品发布模式
  • 分布式集群
  • 存储过程储备数据

docker安装使用

ubuntu安装docker

$ sudo apt-get install -y docker.io

查看版本

$ docker -v

docker启动

$ sudo /etc/init.d/docker start

搜索centos镜像,第一个是官方镜像

$ sudo docker search centos

拉取centos镜像

$ sudo docker pull centos

查询本地已存在的镜像

$ sudo docker images

删除镜像

$ sudo docker rmi [IMAGE ID]

运行centos容器echo命令

$ sudo docker run centos /bin/echo "Hello World"

docker查看网络

$ sudo docker network ls
$ docker network inspect bridge # 查看bridge网络

mac安装minikube

brew install minikube

开启minikube

minikube start

进入minikube

minikube ssh

创建删除pod

kubectl create - pod_nginx.yml # 不推荐
kubectl delete - pod_nginx.yml
kubectl create -f rc_nginx.yml # 推荐使用rc,因为rc当删除一个pod会自动创建一个pod
kubectl delete -f rc_nginx.yml

删除pod

kubectl delete pods nginx-ksp22

获取pod,rc,rs信息

kubectl get pods # 不推荐
kubectl get pods -o wide
kubectl get rc  
kubectl get rc -o wide
kubectl get rs
kubectl get rc -o wide
kubectl get deployment
kubectl get deployment -o wide

进入pod容器

kubectl exec -it nginx sh # 进入pod的第一个容器
kubectl exec -c --container=''  # 指定容器

pods信息

kubectl describe pods nginx

开启多个pod

kubectl scale rc nginx --replicas=5  #开启5个nginx,包括已存在的
kubectl scale rs nginx --replicas=5  #开启5个nginx,包括已存在的

创建deployment

kubectl create -f deployment_nginx.yml

查看deployment历史

kubectl rollout history deployment nginx-deployment

回滚deployment历史

kubectl rollout undo deployment nginx-deployment

对deployment做修改

kubectl set image deployment nginx-deployment nginx=daocloud.io/library/nginx:1.13

你可能感兴趣的:(docker和minikube)