From 6bf7c91d90cac473f23588161c6bee85757ac9e9 Mon Sep 17 00:00:00 2001 From: dazuimao1990 <33855684+dazuimao1990@users.noreply.github.com> Date: Sat, 25 Dec 2021 22:22:39 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=20arm64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 20211224 基础镜像 - 支持 arm64 构建镜像 --- Dockerfile | 11 +++++------ README.md | 13 +++++++++++-- release.sh | 2 +- runner/init | 4 ++-- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 53273ff..ab5826d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,11 @@ -FROM rainbond/cedar14 -MAINTAINER ethan +FROM rainbond/cedar14:20211224 +LABEL MAINTAINER ="guox " -RUN echo "Asia/Shanghai" > /etc/timezone;dpkg-reconfigure -f noninteractive tzdata +ENV TZ=Asia/Shanghai RUN set -x \ && apt-get update \ - && apt-get -y install language-pack-zh-hans \ - && apt-get install --no-install-recommends --no-install-suggests -y ttf-dejavu apt-transport-https ca-certificates procps curl net-tools rsync \ + && apt-get install --no-install-recommends --no-install-suggests -y ttf-dejavu apt-transport-https ca-certificates procps net-tools rsync \ && rm -rf /var/lib/apt/lists/* ENV HOME /app @@ -35,7 +34,7 @@ RUN chown rain:rain /runner/init ## install libpng16 for ubuntu14.04 -RUN wget https://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.xz \ +RUN wget --no-check-certificate https://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.xz \ && tar -xf libpng-1.6.37.tar.xz \ && cd libpng-1.6.37 && ./configure && make check && make install && ldconfig \ && cd ../ && rm -rf libpng-1.6.37.tar.xz && rm -rf libpng-1.6.37 diff --git a/README.md b/README.md index 996f6f3..66ccdd4 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,24 @@ 通过标准输入,文件挂载或者URL的形式将 压缩后 的应用程序(代码,运行时)传入到Runner镜像并运行。镜像的入口文件会读取Procfile中的内容并运行。 ## 如何使用 Runner -云帮安装后该镜像自动在计算节点拉取,不需要人工干预。下面主要介绍手动通过runner镜像运行builder生成的压缩包的场景。 +Rainbond 安装后该镜像自动在计算节点拉取,不需要人工干预。下面主要介绍手动通过runner镜像运行builder生成的压缩包的场景。 -可以通过标准输入将压缩包载入到runner镜像,并运行: +- 可以通过标准输入将压缩包载入到runner镜像,并运行: ```bash $ cat myslug.tgz | docker run -i -a stdin -a stdout goodrain.me/runner ``` +- 可以通过挂载 slug 包的方式运行: + +```bash +$ docker run -dti --name=runner \ +-v path/to/myslug.tgz:/tmp/slug/slug.tgz \ +-p 5000:5000 \ +goodrain.me/runner +``` + 压缩包的内容会在runner容器启动后解压到 `/app` 目录,在正式启动应用程序之前,会先导入代码目录下 `.profile.d` 中的文件,这里会有应用程序所需要的环境变量。 最终,runner镜像的引导程序会读取代码目录下的`Procfile`文件,并启动应用程序。如果用户代码根目录中没有该文件,在builer构建时会根据用户在创建应用向导中的选择自动生成。 diff --git a/release.sh b/release.sh index 1463033..32d69a3 100755 --- a/release.sh +++ b/release.sh @@ -1,7 +1,7 @@ #!/bin/bash set -xe -release_version=v5.3.3 +release_version=v5.5.0 git_commit=$(git log -n 1 --pretty --format=%h) release_desc=${release_version}-${git_commit} diff --git a/runner/init b/runner/init index d68d93f..18f4c10 100755 --- a/runner/init +++ b/runner/init @@ -48,8 +48,8 @@ cd $HOME shopt -s nullglob mkdir -p .profile.d - -if [[ -s .release ]]; then +#True if FILE exists and has a size greater than zero. +if [[ -s .release ]]; then ruby -e "require 'yaml';(YAML.load_file('.release')['config_vars'] || {}).each{|k,v| puts \"#{k}='#{v}'\"}" > .profile.d/config_vars fi