什么是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
网友评论