开发者社区 > 云原生 > 正文

arms 支持通过docker-compose 进行配置安装嘛 ?一定要在dockerFile 里

arms 支持通过docker-compose 进行配置安装嘛 ?一定要在dockerFile 里面吗?或者说可不可以在build镜像的时候把包打进去,但是通过compose.yml 的environment 进行控制是否开启?

展开
收起
真的很搞笑 2023-04-16 17:14:01 311 0
5 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    阿里云 ARM 探针可以通过 Docker Compose 进行配置安装。您可以在 build 镜像时将 ARM 探针包打进镜像中,并在 compose.yml 的 environment 中配置开启和关闭 ARM 探针的选项。

    具体步骤如下:

    1. 在 Dockerfile 中添加安装 ARM 探针的命令,例如:
    FROM alpine:latest
    
    RUN apk update && \
        apk upgrade && \
        apk add --no-cache curl && \
        curl -O https://arms-ap-southeast-1-accelerate.aliyuncs.com/arms/arms.agent.latest.tar.gz && \
        tar -xzf arms.agent.latest.tar.gz && \
        chmod 755 arms/* && \
        rm -f arms.agent.latest.tar.gz
    
    CMD ["sh", "-c", "while true; do sleep 1; done"]
    
    1. 在 compose.yml 中使用 environment 变量控制 ARM 探针的开启和关闭,例如:
    version: '3'
    
    services:
      app:
        build: .
        environment:
          - ENABLE_ARM=true
        command: bash start.sh
    

    在 start.sh 脚本中启动 ARM 探针,例如:

    #!/bin/bash
    
    if [ "$ENABLE_ARM" = "true" ]; then
      /arms/arms-agent-linux-amd64 --config /etc/arms/config.yaml
    fi
    
    # 启动应用程序
    

    上述示例中,如果 ENABLE_ARM 环境变量的值为 true,就启动 ARM 探针;否则不启动。您可以根据自己的需求修改相关的配置和脚本。

    注意,ARM 探针需要访问阿里云的 API 以获取监控数据,需要在阿里云控制台中为您的服务器添加授权。详细的操作步骤可以参考阿里云官方文档

    2023-04-30 09:17:16
    赞同 展开评论 打赏
  • 坚持这件事孤独又漫长。

    可以通过Docker方式进行,但是需要使用Dockerfile进行构建,而不是使用docker-compose。可以通过以下步骤进行安装:

    1. 拉取arms-agent镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/aliyunapp/arms-agent:latest
    

    2. 创建并运行arms-agent的容器

    docker run -idt --restart=always --name arms-agent \
    -e GROUP_NAME=your_project_name \
    -e APP_NAME=your_app_name \
    -e APP_ID=your_app_id \
    -e APP_SECRET=your_app_secret \
    -e "TCP_PORTS=[\"8080\",\"8081\"]" \
    -e "UDP_PORTS=[\"8080\",\"8081\"]" \
    registry.cn-hangzhou.aliyuncs.com/aliyunapp/arms-agent:latest
    
    • 其中,需要将your_project_name、your_app_name、your_app_id、your_app_secret替换为实际的值,TCP_PORTS和UDP_PORTS可以根据实际情况进行修改。

    3. 确认arms-agent容器正常运行

    docker ps | grep arms-agent
    
    • 如果输出类似于以下内容,表示arms-agent容器已成功运行:
    CONTAINER ID   IMAGE                                              COMMAND                  CREATED         STATUS         PORTS                   NAMES
    d9638053cee8   registry.cn-hangzhou.aliyuncs.com/aliyunapp/arms-agent:latest   "/usr/local/arms-age…"   5 seconds ago   Up 4 seconds   12200/tcp,12201/tcp   arms-agent
    
    2023-04-16 23:12:59
    赞同 展开评论 打赏
  • 热爱开发

    ARMs (Application Real-Time Monitoring Service)可以通过 Docker-Compose 进行配置安装,且不一定要在 Dockerfile 中进行具体的包安装。您可以在 Docker-Compose 文件中定义一个 service,并通过 image 指令指定需要构建的镜像,然后使用 volumes 指令将所需的文件或目录挂载到容器内。例如:

    version: '3' services: arms: image: your_image_name environment: ARMS_ENABLED: true volumes: - /path/to/arms/config:/usr/local/arms/config 在上述示例中,我们创建了一个名为 arms 的 service,并通过 image 指令指定了需要构建的镜像名称。然后,我们使用 environment 指令来设置环境变量,如 ARMS_ENABLED 变量控制是否启用 ARM 监控。最后,我们使用 volumes 指令将 /path/to/arms/config 目录挂载到了容器内的 /usr/local/arms/config 路径下。

    您可以根据自己的需要进行修改和调整。如果您已经有一个现成的 Docker 镜像,也可以将 ARM 包打入该镜像中,然后在 Docker-Compose 文件中进行环境变量的设置以及文件挂载等操作。

    2023-04-16 19:26:52
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    可以通过docker-compose进行配置和安装,不一定需要在Dockerfile中。在构建镜像时,您可以将所需的软件包打入镜像中,然后在docker-compose.yml文件中使用环境变量来控制是否开启它们。

    例如,您可以在Dockerfile中使用以下命令将软件包打入镜像中:

    COPY your-package.tar.gz /tmp/ RUN tar -xzf /tmp/your-package.tar.gz -C /opt/

    然后,在docker-compose.yml文件中,您可以使用环境变量来控制软件包是否开启:

    version: '3' services: your-service: image: your-image environment: - ENABLE_PACKAGE=true

    在您的应用程序中,您可以检查环境变量是否设置为true,然后相应地启用软件包。

    2023-04-16 17:51:49
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,在我们的Docker Compose 中,只需要写一个 docker-compose.yml 文件容器编排,然后通过命令去启动就可以达到自动化的操作

    2023-04-16 17:34:57
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关产品

  • 应用实时监控服务
  • 相关电子书

    更多
    应用 Docker 进行持续交付:用技术改变交付路程 立即下载
    从Docker到容器服务 立即下载
    构建基因数据应用生态系统—— docker in Bio/informatics 立即下载