docker容器入门与实践
docker容器入门与实践
技术分享使用
虚拟化
虚拟机: VMware、Haper-V、KVM、ESXI、Openstack、Proxmox VE
容器: docker
个人可以安装VMware,或使用公有云,远程登录后用于测试、下载文件等
虚拟机:硬件+文件系统 (CPU、内存、硬盘、作系统)
容器: 文件系统 (操作系统), 轻量、秒级运行、环境一致性
Docker
镜像、容器、仓库
docker基础教程
Docker实战案例视频
Docker安装
官方安装文档 https://docs.docker.com/engine/install/
#环境ubuntu
#安装docker,使用阿里云镜像加速
curl -s http://elven.vip/ks/sh/docker.sh |bash
#查看docker信息
docker info
运行容器
#临时体验centos8系统 --rm退出后删除容器
docker run -it --rm -h centos centos:8 bash
#查看系统
cat /etc/os-release
cat /etc/redhat-release
运行nginx容器, 参考 https://www.cnblogs.com/elvi/p/8313131.html
#下载、查看镜像
docker pull nginx
docker pull nginx:alpine
docker images nginx
#运行容器nginx
docker run -d -p 81:80 --name nginx1 nginx
docker run -d -p 82:80 -v /tmp/test:/test --name nginx2 nginx:alpine
#查看容器
docker ps
#查看端口
netstat -antp
curl 127.0.0.1:81
#外部浏览器访问ip:81正常
#进入容器 #退出容器 Ctrl+d
docker exec -it nginx1 sh
docker exec -it nginx2 sh
#查看容器里文件系统
cat /etc/os-release
#查看日志(访问nginx2容器出现日志)
docker logs -f nginx2
#删除容器
docker rm -f nginx1 nginx2
常见镜像 nginx busybox tomcat mysql
docker镜像常见文件系统 debian、ubuntu、cetnos、alpine
docker-composes 容器批量管理
#docker-composes安装
curl -s http://elven.vip/ks/sh/docker-compose.sh |bash
docker-compose --version
实例 Docker部署Zabbix+Grafana监控 https://www.cnblogs.com/elvi/p/8698573.html
#下载zabbix部署yaml
cd /opt
git clone https://gitee.com/almi/zabbix-docker.git
#运行容器
cd zabbix-docker
docker-compose up -d
#查看
docker-compose ps
#删除
docker-compose down
docker-sware 容器集群
参考 https://www.cnblogs.com/elvi/p/8424378.html
#创建swarm集群
docker swarm init
#获得添加节点代码docker swarm join
##查看集群节点
docker node ls
#创建nginx服务
docker service create --name nginx --replicas 2 --publish 80:80 alivv/nginx:node
#查看swarm集群中的服务
docker service ls
docker service ps nginx
#修改服务实例数量为3
docker service scale nginx=3
#访问80端口测试
curl -s 127.0.0.1
for n in $(seq 1 10);do curl -s 127.0.0.1; done
#删除nginx服务
docker service rm nginx
k8s集群
推荐视频教程 https://www.bilibili.com/video/BV1w4411y7Go
k8s中文社区文档 https://www.kubernetes.org.cn/k8s
安装k8s参考 https://www.cnblogs.com/elvi/p/8976305.html
#安装k8s
#1 部署k8s master节点
export Ver=1.17.4
curl -s http://elven.vip/ks/k8s/k8s.master.ha.sh |bash
#2 添加Node节点
#安装kubelet
export Ver=1.17.4
curl -s http://elven.vip/ks/k8s/kubelet.sh |bash
#按master节点提示执行加入 kubeadm join MasterIP:6443 --token
k8s命令行简单实例
#查看k8s节点
kubectl get nodes
#运行一个Deployment ,名称myweb,镜像alivv/nginx:node
kubectl run myweb --image=alivv/nginx:node
#创建随机端口映射的service
kubectl expose deployment myweb --type=NodePort --port=80
#查看
kubectl get svc
kubectl get deploy
kubectl get rs
kubectl get pod
#增加pod数量
kubectl scale deployment/myweb --replicas=3
#查看Pod个数
kubectl get pod -o wide
#访问service的ClusterIP
kubectl get svc |awk '/myweb/{print $3}'
VIP=$(kubectl get svc |awk '/myweb/{print $3}')
curl $VIP
#删除
kubectl scale deployment/myweb --replicas=0
kubectl delete service myweb
kubectl delete deployment myweb
使用yaml文档创建服务
#创建
kubectl apply -f http://elvin.vip/ks/k8s/demo/myapp-demo.yaml
#查看
#删除
kubectl delete -f http://elvin.vip/ks/k8s/demo/myapp-demo.yaml
本文来自博客园,作者:blog-elvin-vip,转载请注明原文链接:https://www.cnblogs.com/elvi/p/12703274.html

浙公网安备 33010602011771号