From 64045847027357ff52a3454d735989dd7ef18cba Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Fri, 10 May 2024 16:03:57 +0800 Subject: [PATCH 1/4] add docker build for ats --- ats/8.0.5/Dockerfile | 28 ++++++++++++++++++++++++++++ ats/README.md | 0 ats/doc/image-info.yaml | 0 ats/meta.yaml | 0 4 files changed, 28 insertions(+) create mode 100644 ats/8.0.5/Dockerfile create mode 100644 ats/README.md create mode 100644 ats/doc/image-info.yaml create mode 100644 ats/meta.yaml diff --git a/ats/8.0.5/Dockerfile b/ats/8.0.5/Dockerfile new file mode 100644 index 0000000..e8a504e --- /dev/null +++ b/ats/8.0.5/Dockerfile @@ -0,0 +1,28 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG NGINX_IP +ARG NGINX_PORT + +ARG PATCH_AME=95a535b6b8bf459dfe95e3bfebc4cc8896ff42a1.patch +ARG ATS_VERSION=8.0.5 +ARG ATS_PACKAGE=${ATS_VERSION}.tar.gz +ARG SERVICE_NAME=trafficserver + +RUN yum -y install autoconf automake libtool make g++ ncurses-devel tcl-devel pcre-devel initscripts wget patch diffutils python && \ + mkdir /${SERVICE_NAME} && cd /${SERVICE_NAME} && \ + wget https://github.com/apache/trafficserver/archive/${ATS_PACKAGE} --no-check-certificate && \ + tar -xvf ${ATS_PACKAGE} && cd ${ATS_VERSION} && \ + wget https://github.com/apache/trafficserver/commit/${PATCH_AME} && \ + mv ./${PATCH_AME} ./${ATS_VERSION} && patch -p1 < ${PATCH_AME} && \ + autoconf -if && ./configure --prefix=/opt/trafficServer CC=/usr/bin/gcc CXX=/usr/bin/g++ --with-ncurses && \ + sed -i "s/\ -mcx16//g" `find -name Makefile` && make clean && make -j "$(nproc)" && make install && \ + rm -rf /${SERVICE_NAME} && \ + echo "dest_domain=localhost ttl-in-cache=1h" >> /opt/trafficServer/etc/trafficserver/cache.config && \ + echo "map / http://${NGINX_IP}:${NGINX_PORT}}/" >> vim /opt/trafficServer/etc/trafficserver/remap.config + +ENV PATH=/opt/trafficServer/bin/:$PATH + +EXPOSE 8080 + +CMD ["trafficserver", "start"] \ No newline at end of file diff --git a/ats/README.md b/ats/README.md new file mode 100644 index 0000000..e69de29 diff --git a/ats/doc/image-info.yaml b/ats/doc/image-info.yaml new file mode 100644 index 0000000..e69de29 diff --git a/ats/meta.yaml b/ats/meta.yaml new file mode 100644 index 0000000..e69de29 -- Gitee From 09fc522d345af1173509b9dbcab6e78b0f4c3b09 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Fri, 10 May 2024 16:13:26 +0800 Subject: [PATCH 2/4] update param for docker build --- ats/8.0.5/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ats/8.0.5/Dockerfile b/ats/8.0.5/Dockerfile index e8a504e..6e195c1 100644 --- a/ats/8.0.5/Dockerfile +++ b/ats/8.0.5/Dockerfile @@ -6,13 +6,14 @@ ARG NGINX_PORT ARG PATCH_AME=95a535b6b8bf459dfe95e3bfebc4cc8896ff42a1.patch ARG ATS_VERSION=8.0.5 +ARG ATS_HOME=trafficserver-8.0.5 ARG ATS_PACKAGE=${ATS_VERSION}.tar.gz ARG SERVICE_NAME=trafficserver RUN yum -y install autoconf automake libtool make g++ ncurses-devel tcl-devel pcre-devel initscripts wget patch diffutils python && \ mkdir /${SERVICE_NAME} && cd /${SERVICE_NAME} && \ wget https://github.com/apache/trafficserver/archive/${ATS_PACKAGE} --no-check-certificate && \ - tar -xvf ${ATS_PACKAGE} && cd ${ATS_VERSION} && \ + tar -xvf ${ATS_PACKAGE} && cd ${ATS_HOME} && \ wget https://github.com/apache/trafficserver/commit/${PATCH_AME} && \ mv ./${PATCH_AME} ./${ATS_VERSION} && patch -p1 < ${PATCH_AME} && \ autoconf -if && ./configure --prefix=/opt/trafficServer CC=/usr/bin/gcc CXX=/usr/bin/g++ --with-ncurses && \ -- Gitee From 6b763c64b24ec5049ffa9540456f871a7b20ae49 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Sat, 11 May 2024 17:34:44 +0800 Subject: [PATCH 3/4] staging these modified files --- ats/8.0.5/{ => 22.03-lts-sp3}/Dockerfile | 14 ++---- ats/README.md | 31 ++++++++++++ ats/doc/image-info.yaml | 59 +++++++++++++++++++++++ ats/doc/picture/logo.png | Bin 0 -> 30328 bytes ats/meta.yaml | 2 + 5 files changed, 97 insertions(+), 9 deletions(-) rename ats/8.0.5/{ => 22.03-lts-sp3}/Dockerfile (54%) create mode 100644 ats/doc/picture/logo.png diff --git a/ats/8.0.5/Dockerfile b/ats/8.0.5/22.03-lts-sp3/Dockerfile similarity index 54% rename from ats/8.0.5/Dockerfile rename to ats/8.0.5/22.03-lts-sp3/Dockerfile index 6e195c1..6ce036f 100644 --- a/ats/8.0.5/Dockerfile +++ b/ats/8.0.5/22.03-lts-sp3/Dockerfile @@ -1,26 +1,22 @@ ARG BASE=openeuler/openeuler:22.03-lts-sp3 FROM ${BASE} -ARG NGINX_IP -ARG NGINX_PORT - ARG PATCH_AME=95a535b6b8bf459dfe95e3bfebc4cc8896ff42a1.patch ARG ATS_VERSION=8.0.5 ARG ATS_HOME=trafficserver-8.0.5 ARG ATS_PACKAGE=${ATS_VERSION}.tar.gz ARG SERVICE_NAME=trafficserver -RUN yum -y install autoconf automake libtool make g++ ncurses-devel tcl-devel pcre-devel initscripts wget patch diffutils python && \ +RUN yum -y install autoconf automake libtool make ncurses-devel tcl-devel pcre pcre-devel initscripts wget patch diffutils python gcc gcc-c++ openssl openssl-devel && \ mkdir /${SERVICE_NAME} && cd /${SERVICE_NAME} && \ wget https://github.com/apache/trafficserver/archive/${ATS_PACKAGE} --no-check-certificate && \ tar -xvf ${ATS_PACKAGE} && cd ${ATS_HOME} && \ wget https://github.com/apache/trafficserver/commit/${PATCH_AME} && \ - mv ./${PATCH_AME} ./${ATS_VERSION} && patch -p1 < ${PATCH_AME} && \ - autoconf -if && ./configure --prefix=/opt/trafficServer CC=/usr/bin/gcc CXX=/usr/bin/g++ --with-ncurses && \ + patch -p1 < ${PATCH_AME} && \ + autoreconf -if && ./configure --prefix=/opt/trafficServer CC=/usr/bin/gcc CXX=/usr/bin/g++ --with-ncurses && \ sed -i "s/\ -mcx16//g" `find -name Makefile` && make clean && make -j "$(nproc)" && make install && \ - rm -rf /${SERVICE_NAME} && \ - echo "dest_domain=localhost ttl-in-cache=1h" >> /opt/trafficServer/etc/trafficserver/cache.config && \ - echo "map / http://${NGINX_IP}:${NGINX_PORT}}/" >> vim /opt/trafficServer/etc/trafficserver/remap.config + ln -s /etc/openEuler-release /etc/redhat-release && \ + rm -rf /${SERVICE_NAME} ENV PATH=/opt/trafficServer/bin/:$PATH diff --git a/ats/README.md b/ats/README.md index e69de29..2ac1767 100644 --- a/ats/README.md +++ b/ats/README.md @@ -0,0 +1,31 @@ +# ATS + +# Quick reference + +- The official ATS docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative) + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community) + +# Build reference + +1. Build images and push: +```shell +docker buildx build -t "openeuler/ats:$VERSION" --platform linux/amd64,linux/arm64 . --push +``` + +We are using `buildx` in here to generate multi-arch images, see more in [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) + +2. Run: +```shell +docker run -ti openeuler/ats:$VERSION +``` + +# Supported tags and respective Dockerfile links + +- 179.0.0.93.oe2203sp3: ats 8.0.5, openEuler 22.03-lts-sp3 + +## Operating System +Linux/Unix, ARM64 or x86-64 architecture. + diff --git a/ats/doc/image-info.yaml b/ats/doc/image-info.yaml index e69de29..4853a34 100644 --- a/ats/doc/image-info.yaml +++ b/ats/doc/image-info.yaml @@ -0,0 +1,59 @@ +name: ATS +category: others +description: ATS(Apache Traffic Server)是一个高性能的、模块化的HTTP代理和缓存服务器。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + ATS镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[5.10.0-179.0.0.93.oe2203sp3](https://gitee.com/openeuler/openeuler-docker-images/blob/master/ats/8.0.5/22.03-lts-sp3/Dockerfile)| ATS 9.18.24 on openEuler 22.03-LTS-SP3 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/ats:{Tag} + ``` + +usage: | + - 启动容器 + ``` + docker run -d --name my-ats -p 8080:8080 openeuler/]ats:{Tag} + ``` + 用户可根据自身需求选择对应版本的{Tag}、容器启动的选项。 + + - 启动参数 + + | Parameter | Description | + |----------------|---------------| + | -p 8080:8080 | 通过`localhost:8080`暴露实例 | + | -v /path/to/ats/cacheConfig:/opt/trafficServer/etc/trafficserver/cache.config | 配置缓存策略 | + | -v /path/to/ats/remapConfig:/opt/trafficServer/etc/trafficserver/remap.config | 配置转发策略 | + + + - 容器测试 + + 查看运行日志 + ``` + docker logs -f my-ats + ``` + + 使用shell交互 + ``` + docker exec -it my-ats /bin/bash + ``` + +license: Apache-2.0 license +similar_packages: + - Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 + - Squid: Squid cache(简称为 Squid)是一个流行的自由软件(GNU 通用公共许可证)的代理服务器和 Web 缓存服务器。 +dependency: + - openssl-devel + - libtool + - pcre-devel + - tcl-devel + - ncurses-devel \ No newline at end of file diff --git a/ats/doc/picture/logo.png b/ats/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1b10acc125c9d5ac500d6e7a51796bb819938496 GIT binary patch literal 30328 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 literal 0 HcmV?d00001 diff --git a/ats/meta.yaml b/ats/meta.yaml index e69de29..d0bdecf 100644 --- a/ats/meta.yaml +++ b/ats/meta.yaml @@ -0,0 +1,2 @@ +179.0.0.93.oe2203sp3: + - ats/9.18.24/22.03-lts-sp3/Dockerfile \ No newline at end of file -- Gitee From ae3b957b41253e95b968f711d032fbf62ad30564 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Tue, 14 May 2024 11:19:40 +0800 Subject: [PATCH 4/4] modify yml document format --- loki/doc/image-info.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/loki/doc/image-info.yml b/loki/doc/image-info.yml index 501ecd5..959e8b0 100644 --- a/loki/doc/image-info.yml +++ b/loki/doc/image-info.yml @@ -15,7 +15,7 @@ tags: | download: | 拉取镜像到本地 - `` + ``` docker pull openeuler/loki:{Tag} ``` -- Gitee