helloworld容器化构建

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: [root@ test]# cat app1.go package main import ( "net/http" "log" "fmt" ) func app1(w http.
[root@ test]# cat app1.go
package main


import (
        "net/http"
        "log"
        "fmt"
)

func app1(w http.ResponseWriter, r *http.Request){
        fmt.Println("app1")
        w.Write([]byte("app1"))
}
func app2(w http.ResponseWriter, r *http.Request){
        fmt.Println("app2")
        w.Write([]byte("app2"))
}
func app3(w http.ResponseWriter, r *http.Request){
        fmt.Println("app3")
        w.Write([]byte("app3"))
}

func main(){

        http.HandleFunc("/app1", app1)
        http.HandleFunc("/app2", app2)
        http.HandleFunc("/app3", app3)
        err := http.ListenAndServe(":5001", nil)
        if err != nil {
                log.Fatal("ListenAndServe: ", err.Error())
        }

}
[root@SZD-L0089619 test]# cat Dockerfile
From domain/official/centos:7.2.1511
COPY ./app1 /istio-test/app1


CMD ["/istio-test/app1"]
[root@ test]#
[root@ helloworld]# cat testapp.yaml
apiVersion: v1
kind: Service
metadata:
  name: testapp
  labels:
    app: testapp
spec:
  type: NodePort
  ports:
  - port: 5001
    name: http
  selector:
    app: testapp
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: testapp-v1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testapp
        version: v1
    spec:
      containers:
      - name: testapp
        image: domain/istio-test:v1
        resources:
          requests:
            cpu: "100m"
        imagePullPolicy: IfNotPresent #Always
        ports:
        - containerPort: 5001
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: testapp-v2
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: testapp
        version: v2
    spec:
      containers:
      - name: testapp
        image: domain/istio-test:v2
        resources:
          requests:
            cpu: "100m"
        imagePullPolicy: IfNotPresent #Always
        ports:
        - containerPort: 5001
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: testapp
  annotations:
    kubernetes.io/ingress.class: "istio"
spec:
  rules:
  - http:
      paths:
      - path: /app1
        backend:
          serviceName: testapp
          servicePort: 5001
      - path: /app2
        backend:
          serviceName: testapp
          servicePort: 5001
      - path: /app3
        backend:
          serviceName: testapp
          servicePort: 5001
---
相关文章
|
2月前
|
负载均衡 网络协议 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基本概念和类型,包括桥接网络、宿主网络、覆盖网络和 Macvlan 网络等,并提供了创建、管理和配置自定义网络的实用命令。通过掌握这些知识,开发者可以构建更健壮和灵活的容器化应用,提高应用的可扩展性和安全性。
|
3月前
|
测试技术 API Docker
使用ruri快速构建跨架构chroot容器
【8月更文挑战第22天】本指南介绍如何使用 ruri 工具快速构建跨架构 chroot 容器。首先需安装 ruri,并确保系统满足安装要求。接着确定目标架构(如从 x86 到 ARM),并准备好相应的工具链和依赖库。利用 ruri 的命令行工具启动容器构建流程,指定源与目标架构及基础镜像。构建完成后可进一步配置和定制容器,安装所需软件包与调整系统设置。随后通过运行测试用例验证容器功能,解决发现的问题。最后将测试合格的容器部署至生产环境,利用容器管理工具进行管理和运行。在整个过程中要注意架构间的差异与兼容性问题,并确保系统环境稳定,定期更新 ruri 和相关组件。
|
21天前
|
Kubernetes 监控 数据中心
容器化与微服务:构建高效开发环境的双剑合璧
【10月更文挑战第20天】本文探讨了容器化技术(如Docker和Kubernetes)与微服务架构的结合,如何共同构建高效、灵活的开发环境。容器化解决了环境一致性、快速部署和资源隔离的问题,而微服务架构则提升了系统的可维护性和可扩展性。通过容器编排工具、CI/CD流程和服务网格,两者的结合进一步优化了开发和运维效率。文章还分享了实施这两项技术的最佳实践和职业心得。
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:构建你的第一个容器化应用
【8月更文挑战第75天】在数字化浪潮中,云原生技术成为推动企业创新和效率提升的关键动力。本篇文章将引导你开启云原生之旅,通过一个简易的步骤指南,帮助你构建并部署第一个容器化应用。我们将一起探索Docker容器的魅力,以及如何利用Kubernetes进行集群管理,实现服务的自动化部署、扩展和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供实践操作的启示和深入思考的契机。
|
1月前
|
监控 Kubernetes 测试技术
掌握Docker网络模式:构建高效容器通信
【10月更文挑战第3天】本文深入探讨了Docker的网络模式,包括它们的工作原理、使用场景以及如何配置和优化容器间的通信。希望能够帮助开发者在项目中有效地应用Docker网络模式,构建高效的容器化应用。
|
25天前
|
运维 Kubernetes 开发者
构建高效后端服务:微服务架构与容器化技术的结合
【10月更文挑战第18天】 在数字化转型的浪潮中,企业对后端服务的要求日益提高,追求更高的效率、更强的可伸缩性和更易于维护的系统。本文将探讨微服务架构与容器化技术如何结合,以构建一个既灵活又高效的后端服务体系。通过分析当前后端服务面临的挑战,介绍微服务和容器化的基本概念,以及它们如何相互配合来优化后端服务的性能和管理。本文旨在为开发者提供一种实现后端服务现代化的方法,从而帮助企业在竞争激烈的市场中脱颖而出。
24 0
|
2月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
28天前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
39 0
|
2月前
|
网络协议 安全 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基础知识,包括网络驱动、端口映射和命名等核心概念,并深入探讨了 Bridge、Host、Overlay 和 Macvlan 四种网络类型的特点及应用场景。此外,还提供了创建、连接、查看和删除自定义网络的命令示例,以及高级网络配置方法,如网络命名空间、DNS 解析和安全通信配置,帮助开发者构建更健壮的容器化应用。
|
3月前
|
Cloud Native 持续交付 Docker
云原生入门指南:构建你的首个容器化应用
【8月更文挑战第30天】云原生技术,作为现代软件开发的风向标,正在改变我们构建、部署和管理应用程序的方式。本篇文章将引导你了解云原生的核心概念,并通过一个简单的代码示例,展示如何将传统应用转变为容器化的云原生应用。无论你是新手开发者还是希望扩展知识的IT专业人士,这篇文章都将是你探索云原生世界的起点。