当前位置:网站首页 > 容器化与Kubernetes > 正文

【云原生】docker+k8微服务容器化实战

博主专栏页面连接:专栏传送门--网路安全技术
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;


 

目录

一、Docker

1.服务docker化

2.私有仓库管理

3.Docker下的服务通讯

二、服务编排

1.Kubernetes

2.Mesos

3.Swarm

三、CICD

1.Gitlab触发构建

2.Jenkins pipeline流水线

3.Kubect操作k8s集群

四、微服务入门

1.微服务入门

2.优势劣势

3.如何通讯

4.如何发现、更新和部署

五、微服务周边

1.SpringBoot

2.SpringCloud

3.Dubbo

六、微服务开发

1.服务划分

2.rpc通讯

3.跨语言调用


一、Docker

 

1.服务docker化

部署user-service

  • 编写Dockfile文件
#源镜像 FROM golang:1.13 #设置工作目录 WORKDIR $GOPATH/src RUN mkdir user-service COPY user-service $GOPATH/src/user-service #切换工作目录 WORKDIR $GOPATH/src/user-service RUN mkdir log #暴露端口 EXPOSE 9090 #最终运行docker的命令 ENTRYPOINT ["nohup","./user-service",">log/log.log", "&"] 
  • 编写build.sh脚本
#!/bin/bash rm -rf user-service go build . docker build -t mic-user-service -f Dockerfile .

执行build.sh构建镜像

  • 编写start.sh脚本
#!/bin/bash docker stop mic_user_service docker rm mic_user_service docker run -p 9090:9090 --name mic_user_service -v /usr/local/docker/micservice/user-service/log:/go/src/user-service/log -d mic-user-service

启动容器 ./start.sh

user-server服务依赖mysql服务,请访问 docker搭建mysql

部署user-edge-service

  • 编写Dockfile文件
#源镜像 FROM golang:1.13 #设置工作目录 WORKDIR $GOPATH/src RUN mkdir user-edge-service COPY user-edge-service $GOPATH/src/user-edge-service COPY config.ini $GOPATH/src/user-edge-service #切换工作目录 WORKDIR $GOPATH/src/user-edge-service RUN mkdir log #暴露端口 EXPOSE 9091 #最终运行docker的命令 ENTRYPOINT ["nohup","./user-edge-service",">/dev/null", "&"] 
  • 编写build.sh脚本
#!/bin/bash rm -rf user-edge-service go build . docker build -t mic-user-edge-service:latest

执行build.sh构建镜像

  • 编写start.sh脚本
#!/bin/bash docker stop mic_user_edge_service docker rm mic_user_edge_service docker run -p 9091:9091 --name mic_user_edge_service -v /usr/local/docker/micservice/user-edge-service/log:/go/src/user-edge-service/log -d mic-user-edge-service

启动容器 ./start.sh

  • 访问user-edge-service服务测试
    http://172.16.57.110:9091/adapi/login

使用docker-compose编排容器

上面的方式需要一个一个单独启动容器服务,我们可以是用docker-compose来管理容器

  • 安装docker-compose

    yum install docker-conpose

  • 编写docker-compose.yml
version: '3' networks: default: external: name: micservice-network services: mysql: image: mysql:5.7 ports: - 3306:3306 volumes: - /usr/local/docker/mysql/conf:/etc/mysql - /usr/local/docker/mysql/logs:/var/log/mysql - /usr/local/docker/mysql/data:/var/lib/mysql environment: - TZ="Asia/Shanghai" redis: image: redis:5.0.4 ports: - 6379:6379 volumes: - /usr/local/docker/redis/logs:/usr/local/redis/logs - /usr/local/docker/redis/redis.conf:/etc/redis_default.conf - /usr/local/docker/redis/data:/data environment: - TZ="Asia/Shanghai" mongo: image: mongo:latest ports: - 27017:27017 volumes: - /usr/local/docker/mongo/data:/data/d
到此这篇【云原生】docker+k8微服务容器化实战的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 【K8S系列】快速初始化⼀个最⼩集群2024-10-30 22:02:08
  • K8S简介和安装部署详细教程2024-10-30 22:02:08
  • Kubernetes详细笔记_kubernetes详解2024-10-30 22:02:08
  • 【K8S系列】如何高效查看 k8s日志2024-10-30 22:02:08
  • 公司服务搞容器化后,为什么性能下降这么多?2024-10-30 22:02:08
  • k8s面试题大全(持续更新中)2024-10-30 22:02:08
  • 【K8S系列】深入解析k8s 网络插件—Antrea_k8s waf2024-10-30 22:02:08
  • 【K8S系列】深入解析K8S监控2024-10-30 22:02:08
  • 【K8S系列】深入解析K8S存储2024-10-30 22:02:08
  • docker 容器加入k8s2024-10-30 22:02:08
  • 全屏图片