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

本文介绍了云原生环境下的Docker服务化部署,包括编写Dockfile、构建镜像、使用docker-compose编排。探讨了私有仓库Harbor的管理和服务间的通讯。接着讲解了Kubernetes、Mesos、Swarm等服务编排工具的特性。此外,还提到了CICD流程中的Gitlab触发构建、Jenkins pipeline以及Kubectl在K8s集群中的操作。最后,博主总结并预告了后续关于微服务的更多内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博主昵称:跳楼梯企鹅
博主主页面链接:博主主页传送门

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


 

目录

一、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

使用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_
Docker+k8s的微服务实战课程 课程目录 一、初识微服务 1 微服务-导学 2 软件架构的进化 3 什么是微服务 4 画出微服务架构图 5 微服务架构的优势和不足 二、微服务带来的问题及解决方案分析 1 微服务架构带来的问题 2 微服务间如何通讯 3 服务发现、部署更新和扩容 4 springboot&springcloud(上) 5 springboot&springcloud(下) 三、微服务开发 1 微服务业务分析 2 Thirft安装和验证 3 Python开发信息服务 4 开发用户服务(上) 5 开发用户服务(下) 6 开发用户EdgeService_A 7 开发用户EdgeService_B 8 开发用户EdgeService_C 9 开发用户EdgeService_D 10 dubbo入门操练(上) 11 dubbo入门操练(下) 12 开发课程服务 13 开发课程EdgeService 14 APIGatewayZuul 四、服务编排前奏 1 服务docker化(上) 2 服务docker化(下) 3 docker下的服务通讯(上) 4 docker下的服务通讯(下) 5 镜像仓库 6 三大平台扬帆起航 五、服务编排-Mesos 1 了解Mesos 2 画出Mesos集群架构图 3 集群环境搭建_A 4 集群环境搭建_B 5 集群环境搭建_C 6 调整微服务适应Mesos 7 微服务部署_A 8 微服务部署_B 9 微服务部署_C 六、服务编排-DockerSwarm 1 了解Swarm 2 集群环境搭建(上) 3 集群环境搭建(下) 4 调整微服务及服务配置 5 微服务部署 七、服务编排-Kubernetes 1 了解kubernetes(上) 2 了解kubernetes(下) 3 环境搭建前奏 4 预先准备环境 5 基础集群部署(上) 6 基础集群部署(下) 7 小试牛刀 8 kube-proxy和kube-dns 9 理解认证、授权 10 为集群添加认证授权(上) 11 为集群添加认证授权(下) 12 再试牛刀 13 部署我们的微服务 八、CICD和DevOps 1 了解CICD和DevOps 2 准备GitLab和Jenkins 3 CICD实践(上) 4 CICD实践(下) 九、课程总结
评论 227
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳楼梯企鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值