diff --git a/memcached/1.6.24/22.03-lts-sp3/Dockerfile b/memcached/1.6.24/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f8ea2a69e9c67d9dbf8176363e71caf75eca6866 --- /dev/null +++ b/memcached/1.6.24/22.03-lts-sp3/Dockerfile @@ -0,0 +1,31 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=1.6.24 + +RUN groupadd --system --gid 11211 memcache && \ + useradd --system --gid memcache --uid 11211 memcache && \ + mkdir -p /memcache/rules && \ + mkdir -p /memcache/rules-temp && \ + mkdir -p /etc/memcache && \ + chown -R memcache:memcache /etc/memcache /memcache + +RUN yum -y install gcc make libevent-devel && \ + yum clean all + +RUN curl -o /tmp/memcached.tar.gz https://www.memcached.org/files/memcached-${VERSION}.tar.gz && \ + tar -zxvf /tmp/memcached.tar.gz -C /tmp && \ + cd /tmp/memcached-${VERSION} && \ + ./configure && \ + make && make install && \ + rm -rf /tmp/memcached.tar.gz /tmp/memcached-${VERSION} + + +COPY entrypoint.sh / +ENTRYPOINT ["/entrypoint.sh"] + +USER memcache +EXPOSE 11211 + +CMD ["memcached", "-u", "daemon"] diff --git a/memcached/1.6.24/22.03-lts-sp3/entrypoint.sh b/memcached/1.6.24/22.03-lts-sp3/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..9967be97d42d36629efe8dec99c832e228a7dc1e --- /dev/null +++ b/memcached/1.6.24/22.03-lts-sp3/entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e + +# first arg is `-f` or `--some-option` +if [ "${1#-}" != "$1" ]; then + set -- memcached "$@" +fi + +exec "$@" \ No newline at end of file diff --git a/memcached/doc/image-info.yml b/memcached/doc/image-info.yml new file mode 100644 index 0000000000000000000000000000000000000000..95a392f983da28fb8778970cc8e2c02be0748e01 --- /dev/null +++ b/memcached/doc/image-info.yml @@ -0,0 +1,92 @@ +name: memcached +category: database +description: Memcached是一个高性能的分布式内存对象缓存系统,主要用于动态Web应用以减轻数据库负载。 +environment: " + 本应用以容器镜像的方式供用户使用,运行于预置docker的Linux环境。Docker的推荐安装方式如下: + ## apt安装 + ### 1.更新系统软件包依赖 + ``` + sudo spt update + sudo apt install ca-certificates curl gnupg lsb-release + ``` + ### 2.添加Docker官方GPG密钥 + ``` + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + sudo chmod a+r /etc/apt/keyrings/docker.gpg + ``` + ### 3.添加Docker官方APT源 + ``` + echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + ``` + ### 4.再次更新软件包索引 + ``` + sudo apt update + ``` + ### 5.安装Docker + ``` + sudo apt install docker-ce docker-ce-cli containerd.io + ``` + + ## yum安装 + ### 1.安装yum-utils + ``` + sudo yum install -y yum-utils + ``` + ### 2.添加Docker源 + ``` + sudo yum-config-manager \ + > --add-repo \ + > https://download.docker.com/linux/centos/docker-ce.repo + ``` + ### 3.安装Docker + ``` + sudo yum install -y docker-ce docker-ce-cli containerd.io + ``` + + 注意,在openEuler环境安装docker时,可执行如下命令一键安装 + ``` + yum install -y docker + ``` + + ## 脚本安装 + ### 1.下载安装脚本 + ``` + curl -fsSL https://get.docker.com -o get-docker.sh + ``` + ### 2.使用root权限执行脚本 + ``` + sudo sh get-docker.sh + ``` + 使用脚本安装方式时,如果用户要指定安装的docker版本,需要自行修改`get-docker.sh`的源码内容。 + + ## 验证 + ``` + sudo docker run hello-world + ``` + " +download: " + 获取容器镜像 + ``` + docker pull openeuler/memcached:latest + ``` + " +install: " + 启动容器 + ``` + docker run --name memcached -d openeuler/memcached:latest + ``` + 用户可根据自身需求,自定义启动选项。 + " +license: BSD-3-Clause license +similar_packages: + - Redis: 一个使用 ANSI C 编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。 + - Apache Cassandra: 一个分布式的 NoSQL 数据库系统,可以提供高可用性和高可扩展性。 + - Apache Ignite: 一个内存中的数据网格系统,可以提供分布式缓存和计算。 + - Aerospike: 一个高性能的 NoSQL 数据库系统,可以提供高可用性和可扩展性。 + - Couchbase: 一个分布式 NoSQL 数据库系统,可以提供高可用性和高扩展性,同时还提供了 Memcached 兼容接口。 + - Tarantool: 一个内存中的 NoSQL 数据库系统,可以提供高性能和高可用性,同时还提供了 Lua 脚本支持。 +dependency: + - gcc + - make + - libevent-devel \ No newline at end of file