multi-lang-dev
Go to file
fly6516 e07083fcca
Some checks failed
build-docker-images-for-latest-release / build-and-push (push) Failing after 0s
docs(README): 添加多平台构建说明
- 新增"Building"章节,介绍如何使用 Docker Buildx 进行多平台构建
- 详细说明了创建和启用 Buildx 构建器、运行 QEMU 以及构建和推送多平台 Docker 镜像的步骤
2025-03-25 18:51:20 +08:00
.gitea/workflows ci:enabled main.yaml 2025-01-01 08:21:28 +08:00
Dockerfile docs:add compile guide 2025-01-01 08:58:45 +08:00
LICENSE Initial commit 2024-12-18 03:24:16 +00:00
README.md docs(README): 添加多平台构建说明 2025-03-25 18:51:20 +08:00

Multi-Language Compile Environment / 多语言编译环境

English Version | 中文版本


English Version

Warning > The slim and max versions and their branches have been temporarily put on hold due to optimizations in the latest image (main branch). They may contain bugs and are not recommended for compiling or running images.

Overview

This project provides a Docker-based multi-language compile environment. It is designed to support development in various programming languages such as C/C++, Java, Python, Node.js, Go, Rust, Ruby, PHP, Haskell, Perl, Lua, and .NET.
Docker Hub

  • you can just use the prebuild images at multi-platform
  •  docker pull fly6516/multilang
    
  • you can use the pre-installed compilers and tools to compile and run your projects. The working directory is set to /workspace.

Prerequisites

  • Docker (with Buildx support if needed)
  • Internet access to download dependencies

Build Instructions

  1. Build the Docker image:
    Execute the following command in the project directory:
    docker build -t multi-lang .
    
  2. Run the container:
    Start a container with:
    docker run -it --rm multi-lang
    

Usage

Once inside the container, you can use the pre-installed compilers and tools to compile and run your projects. The working directory is set to /workspace.

Building

create and enable Buildx builder

docker buildx create --use

run QEMU to emulate multiplatform

docker run --rm --privileged fly6516.synology.me:8080/multiarch/qemu-user-static --reset -p yes

build and push docker image

docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x,linux/mips64le -t fly6516/multilang:latest . --push

中文版本


中文版本

警告 > 由于 latest 镜像(即 main 分支的优化slim 和 max 版本及其分支已被暂时搁置,可能存在 Bug不建议进行编译或运行镜像。

概述

该项目构建了一个基于 Docker 的多语言编译环境,支持 C/C++、Java、Python、Node.js、Go、Rust、Ruby、PHP、Haskell、Perl、Lua 以及 .NET 等多种语言的开发和编译。 Docker Hub

  • 您可以在多平台下使用预构建的镜像。
  •  docker pull fly6516/multilang
    
  • 您可以使用预先安装的编译器和工具来编译和运行您的项目。工作目录设置为 /workspace

前提条件

  • 安装 Docker如果需要可支持 Buildx
  • 具备下载依赖的网络环境

构建步骤

  1. 构建 Docker 镜像:
    在项目目录下执行:
    docker build -t multi-lang .
    
  2. 运行容器:
    使用以下命令启动容器:
    docker run -it --rm multi-lang
    

使用方法

进入容器后,所有的编译器与工具已经预先安装好,工作目录为 /workspace,可以直接在此目录下进行项目的开发和编译。

编译

创建并启用 Buildx 构建器

docker buildx create --use

启动 QEMU 支持的多架构模拟器

docker run --rm --privileged fly6516.synology.me:8080/multiarch/qemu-user-static --reset -p yes

构建并推送多架构 Docker 镜像

docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x,linux/mips64le -t fly6516/multilang:latest . --push

English Version