[Tarantool-patches] [PATCH docker v1 3/5] Move tagged versions into master
Alexander V. Tikhonov
avtikhon at tarantool.org
Mon Jan 13 14:48:37 MSK 2020
Merged all standalone branches with tarantool tags
into master branch to be able to build the tarantool
tagged versions in master and remove branches copies.
---
.gitlab-ci.yml | 152 ++++++++++++++++++--
.gitlab.mk | 5 +-
README.md | 49 ++++---
dockerfiles/alpine_3.5_1.10.3 | 251 +++++++++++++++++++++++++++++++++
dockerfiles/alpine_3.5_2.2.1 | 253 ++++++++++++++++++++++++++++++++++
versions/alpine_3.5_1.10.0 | 1 +
versions/alpine_3.5_1.10.2 | 1 +
versions/alpine_3.5_1.10.3 | 1 +
versions/alpine_3.5_1.10.4 | 1 +
versions/alpine_3.5_2.1.1 | 1 +
versions/alpine_3.5_2.1.2 | 1 +
versions/alpine_3.5_2.1.3 | 1 +
versions/alpine_3.5_2.2.0 | 1 +
versions/alpine_3.5_2.2.1 | 1 +
versions/alpine_3.5_2.2.2 | 1 +
versions/alpine_3.5_2.3 | 1 +
versions/alpine_3.5_2.3.1 | 1 +
17 files changed, 685 insertions(+), 37 deletions(-)
create mode 100644 dockerfiles/alpine_3.5_1.10.3
create mode 100644 dockerfiles/alpine_3.5_2.2.1
create mode 100644 versions/alpine_3.5_1.10.0
create mode 100644 versions/alpine_3.5_1.10.2
create mode 100644 versions/alpine_3.5_1.10.3
create mode 100644 versions/alpine_3.5_1.10.4
create mode 100644 versions/alpine_3.5_2.1.1
create mode 100644 versions/alpine_3.5_2.1.2
create mode 100644 versions/alpine_3.5_2.1.3
create mode 100644 versions/alpine_3.5_2.2.0
create mode 100644 versions/alpine_3.5_2.2.1
create mode 100644 versions/alpine_3.5_2.2.2
create mode 100644 versions/alpine_3.5_2.3
create mode 100644 versions/alpine_3.5_2.3.1
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d704f3e..130cfb3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,6 +21,48 @@ before_script:
make -f .gitlab.mk build
fi;
+# ##########
+# ALPINE 3.5
+# ##########
+
+# Tarantool branch 1.10
+
+'alpine 3.5 1.10.0':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '1.10.0'
+ VER: '1.10.0'
+ DVER: '1.10.3'
+ PORT: 5101
+
+'alpine 3.5 1.10.2':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '1.10.2'
+ VER: '1.10.2'
+ DVER: '1.10.3'
+ PORT: 5102
+
+'alpine 3.5 1.10.3':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '1.10.3'
+ VER: '1.10.3'
+ DVER: '1.10.3'
+ PORT: 5103
+
+'alpine 3.5 1.10.4':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '1.10.4'
+ VER: '1.10.4'
+ DVER: '1.x'
+ PORT: 5104
+
'alpine 3.5 1.x':
<<: *build_definition
variables:
@@ -28,16 +70,36 @@ before_script:
TAG: '1'
VER: '1.x'
DVER: '1.x'
- PORT: 3110
+ PORT: 5100
-'alpine 3.5 2.x':
+# Tarantool branch 2.1
+
+'alpine 3.5 2.1.1':
<<: *build_definition
variables:
OS: 'alpine_3.5'
- TAG: '2'
- VER: '2.x'
- DVER: '2.x'
- PORT: 3120
+ TAG: '2.1.1'
+ VER: '2.1.1'
+ DVER: '2.2.1'
+ PORT: 5211
+
+'alpine 3.5 2.1.2':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.1.2'
+ VER: '2.1.2'
+ DVER: '2.2.1'
+ PORT: 5212
+
+'alpine 3.5 2.1.3':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.1.3'
+ VER: '2.1.3'
+ DVER: '1.x'
+ PORT: 5213
'alpine 3.5 2.1':
<<: *build_definition
@@ -46,7 +108,36 @@ before_script:
TAG: '2.1'
VER: '2.1'
DVER: '2.2'
- PORT: 3121
+ PORT: 5210
+
+# Tarantool branch 2.2
+
+'alpine 3.5 2.2.0':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.2.0'
+ VER: '2.2.0'
+ DVER: '2.2.1'
+ PORT: 5220
+
+'alpine 3.5 2.2.1':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.2.1'
+ VER: '2.2.1'
+ DVER: '2.2.1'
+ PORT: 5221
+
+'alpine 3.5 2.2.2':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.2.2'
+ VER: '2.2.2'
+ DVER: '2.x'
+ PORT: 5222
'alpine 3.5 2.2':
<<: *build_definition
@@ -55,7 +146,45 @@ before_script:
TAG: '2.2'
VER: '2.2'
DVER: '2.2'
- PORT: 3122
+ PORT: 5220
+
+# Tarantool branch 2.3
+
+'alpine 3.5 2.3.1':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.3.1'
+ VER: '2.3.1'
+ DVER: '2.x'
+ PORT: 5231
+
+'alpine 3.5 2.3':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2.3'
+ VER: '2.3'
+ DVER: '2.x'
+ PORT: 5230
+
+# Tarantool branch master
+
+'alpine 3.5 2.x':
+ <<: *build_definition
+ variables:
+ OS: 'alpine_3.5'
+ TAG: '2'
+ VER: '2.x'
+ DVER: '2.x'
+ PORT: 5200
+ TAG_LATEST: 'latest'
+
+# ########
+# CentOS 7
+# ########
+
+# Tarantool branch 1.10
'centos 7 1.x':
<<: *build_definition
@@ -64,7 +193,9 @@ before_script:
TAG: '1.x-centos7'
VER: '1.x'
DVER: '1.x'
- PORT: 3210
+ PORT: 7100
+
+# Tarantool branch master
'centos 7 2.x':
<<: *build_definition
@@ -73,5 +204,4 @@ before_script:
TAG: '2.x-centos7'
VER: '2.x'
DVER: '2.x'
- PORT: 3220
-
+ PORT: 7200
diff --git a/.gitlab.mk b/.gitlab.mk
index 59f53c9..bd97046 100644
--- a/.gitlab.mk
+++ b/.gitlab.mk
@@ -7,4 +7,7 @@ build:
docker exec -t tarantool_${TAG} tarantool_is_up
docker stop tarantool_${TAG}
docker push ${IMAGE}:${TAG}
-
+ if [ -n "${TAG_LATEST}" ] ; then \
+ docker tag ${IMAGE}:${TAG} ${IMAGE}:${TAG_LATEST} ; \
+ docker push ${IMAGE}:${TAG_LATEST} ; \
+ fi
diff --git a/README.md b/README.md
index bba48ea..3c124e1 100644
--- a/README.md
+++ b/README.md
@@ -310,37 +310,36 @@ $ docker run -it t1.x
Fixed versions:
-| Branch | Dockerfile | Docker tag |
-| ------ | ---------- | ---------- |
-| 1.7.3 | 1.7/Dockerfile | 1.7.3 |
-| 1.7.4 | 1.7/Dockerfile | 1.7.4 |
-| 1.7.5 | 1.7/Dockerfile | 1.7.5 |
-| 1.7.6 | 1.7/Dockerfile | 1.7.6 |
-| 1.8.1 | 1.8/Dockerfile | 1.8.1 |
-| 1.9.1 | 1.x/Dockerfile | 1.9.1 |
-| 1.9.2 | 1.x/Dockerfile | 1.9.2 |
-| 1.10.0 | 1.x/Dockerfile | 1.10.0 |
-| 1.10.2 | 1.x/Dockerfile | 1.10.2 |
-| 1.10.3 | 1.x/Dockerfile | 1.10.3 |
-| 2.1.1 | 2.x/Dockerfile | 2.1.1 |
-| 2.1.2 | 2.x/Dockerfile | 2.1.2 |
-| 2.2.0 | 2.x/Dockerfile | 2.2.0 |
-| 2.2.1 | 2.x/Dockerfile | 2.2.1 |
+| Docker tag | Dockerfile |
+| ---------- | ---------------------------- |
+| 1.10.0 | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.2 | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.3 | dockerfile/alpine_3.5_1.10.3 |
+| 1.10.4 | dockerfile/alpine_3.5_1.10.4 |
+| 2.1.1 | dockerfile/alpine_3.5_2.2.1 |
+| 2.1.2 | dockerfile/alpine_3.5_2.2.1 |
+| 2.1.3 | dockerfile/alpine_3.5_1.x |
+| 2.2.0 | dockerfile/alpine_3.5_2.2.1 |
+| 2.2.1 | dockerfile/alpine_3.5_2.2.1 |
+| 2.2.2 | dockerfile/alpine_3.5_2.x |
+| 2.3.1 | dockerfile/alpine_3.5_2.x |
Rolling versions:
-| Branch | Dockerfile | Docker tags |
-| ------ | ---------- | ----------- |
-| master | dockerfile/alpine_3.5_1.x | 1 |
-| master | dockerfile/alpine_3.5_2.2 | 2.1/2.2 |
-| master | dockerfile/alpine_3.5_2.x | 2 |
+| Docker tag | Dockerfile |
+| ---------- | ------------------------- |
+| 1 | dockerfile/alpine_3.5_1.x |
+| 2.1 | dockerfile/alpine_3.5_2.2 |
+| 2.2 | dockerfile/alpine_3.5_2.2 |
+| 2.3 | dockerfile/alpine_3.5_2.x |
+| 2/latest | dockerfile/alpine_3.5_2.x |
Special builds:
-| Branch | Dockerfile | Docker tag |
-| ------ | ---------- | ---------- |
-| master | dockerfile/centos_7_1.x | 1.x-centos7 |
-| master | dockerfile/centos_7_2.x | 2.x-centos7 |
+| Docker tag | Dockerfile |
+| ----------- | ---------- |
+| 1.x-centos7 | dockerfile/centos_7_1.x |
+| 2.x-centos7 | dockerfile/centos_7_2.x |
## How to push changes (for maintainers)
diff --git a/dockerfiles/alpine_3.5_1.10.3 b/dockerfiles/alpine_3.5_1.10.3
new file mode 100644
index 0000000..a80ba61
--- /dev/null
+++ b/dockerfiles/alpine_3.5_1.10.3
@@ -0,0 +1,251 @@
+FROM alpine:3.5
+MAINTAINER mail at racktear.com
+
+RUN addgroup -S tarantool \
+ && adduser -S -G tarantool tarantool \
+ && apk add --no-cache 'su-exec>=0.2'
+
+# An ARG instruction goes out of scope at the end of the build
+# stage where it was defined. To use an arg in multiple stages,
+# each stage must include the ARG instruction
+ARG TNT_VER
+ENV TARANTOOL_VERSION=${TNT_VER} \
+ TARANTOOL_DOWNLOAD_URL=https://github.com/tarantool/tarantool.git \
+ TARANTOOL_INSTALL_LUADIR=/usr/local/share/tarantool \
+ CURL_REPO=https://github.com/curl/curl.git \
+ CURL_TAG=curl-7_59_0 \
+ GPERFTOOLS_REPO=https://github.com/gperftools/gperftools.git \
+ GPERFTOOLS_TAG=gperftools-2.5 \
+ LUAROCKS_URL=https://github.com/tarantool/luarocks/archive/6e6fe62d9409fe2103c0fd091cccb3da0451faf5.tar.gz \
+ LUAROCK_SHARD_REPO=https://github.com/tarantool/shard.git \
+ LUAROCK_SHARD_TAG=8f8c5a7 \
+ LUAROCK_AVRO_SCHEMA_VERSION=2.0.1 \
+ LUAROCK_EXPERATIOND_VERSION=1.0.1 \
+ LUAROCK_QUEUE_VERSION=1.0.2 \
+ LUAROCK_CONNPOOL_VERSION=1.1.1 \
+ LUAROCK_HTTP_VERSION=1.0.1 \
+ LUAROCK_MEMCACHED_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_PG_VERSION=2.0.1 \
+ LUAROCK_TARANTOOL_MYSQL_VERSION=2.0.1 \
+ LUAROCK_TARANTOOL_CURL_VERSION=2.3.1 \
+ LUAROCK_TARANTOOL_MQTT_VERSION=1.2.1 \
+ LUAROCK_TARANTOOL_GIS_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_PROMETHEUS_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_GPERFTOOLS_VERSION=1.0.1
+
+COPY files/gperftools_alpine.diff /
+
+RUN set -x \
+ && apk add --no-cache --virtual .run-deps \
+ libstdc++ \
+ readline \
+ libressl \
+ yaml \
+ lz4 \
+ binutils \
+ ncurses \
+ libgomp \
+ lua \
+ tar \
+ zip \
+ libunwind \
+ icu \
+ ca-certificates \
+ && apk add --no-cache --virtual .build-deps \
+ perl \
+ gcc \
+ g++ \
+ cmake \
+ readline-dev \
+ libressl-dev \
+ yaml-dev \
+ lz4-dev \
+ binutils-dev \
+ ncurses-dev \
+ lua-dev \
+ musl-dev \
+ make \
+ git \
+ libunwind-dev \
+ autoconf \
+ automake \
+ libtool \
+ linux-headers \
+ go \
+ icu-dev \
+ wget \
+ && : "---------- curl ----------" \
+ && mkdir -p /usr/src/curl \
+ && git clone "$CURL_REPO" /usr/src/curl \
+ && git -C /usr/src/curl checkout "$CURL_TAG" \
+ && (cd /usr/src/curl \
+ && ./buildconf \
+ && ./configure --prefix "/usr/local" \
+ && make -j \
+ && make install) \
+ && : "---------- gperftools ----------" \
+ && mkdir -p /usr/src/gperftools \
+ && git clone "$GPERFTOOLS_REPO" /usr/src/gperftools \
+ && git -C /usr/src/gperftools checkout "$GPERFTOOLS_TAG" \
+ && (cd /usr/src/gperftools; \
+ patch -p1 < /gperftools_alpine.diff; \
+ rm /gperftools_alpine.diff; \
+ ./autogen.sh; \
+ ./configure; \
+ make; \
+ cp .libs/libprofiler.so* /usr/local/lib;) \
+ && (GOPATH=/usr/src/go go get github.com/google/pprof; \
+ cp /usr/src/go/bin/pprof /usr/local/bin) \
+ && : "---------- tarantool ----------" \
+ && mkdir -p /usr/src/tarantool \
+ && git clone "$TARANTOOL_DOWNLOAD_URL" /usr/src/tarantool \
+ && git -C /usr/src/tarantool checkout "$TARANTOOL_VERSION" \
+ && git -C /usr/src/tarantool submodule update --init --recursive \
+ && (cd /usr/src/tarantool; \
+ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo\
+ -DENABLE_BUNDLED_LIBYAML:BOOL=OFF\
+ -DENABLE_BACKTRACE:BOOL=ON\
+ -DENABLE_DIST:BOOL=ON\
+ .) \
+ && make -C /usr/src/tarantool -j\
+ && make -C /usr/src/tarantool install \
+ && make -C /usr/src/tarantool clean \
+ && : "---------- small ----------" \
+ && (cd /usr/src/tarantool/src/lib/small; \
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ .) \
+ && make -C /usr/src/tarantool/src/lib/small \
+ && make -C /usr/src/tarantool/src/lib/small install \
+ && make -C /usr/src/tarantool/src/lib/small clean \
+ && : "---------- msgpuck ----------" \
+ && (cd /usr/src/tarantool/src/lib/msgpuck; \
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ .) \
+ && make -C /usr/src/tarantool/src/lib/msgpuck \
+ && make -C /usr/src/tarantool/src/lib/msgpuck install \
+ && make -C /usr/src/tarantool/src/lib/msgpuck clean \
+ && : "---------- luarocks ----------" \
+ && wget -O luarocks.tar.gz "$LUAROCKS_URL" \
+ && mkdir -p /usr/src/luarocks \
+ && tar -xzf luarocks.tar.gz -C /usr/src/luarocks --strip-components=1 \
+ && (cd /usr/src/luarocks; \
+ ./configure; \
+ make build; \
+ make install) \
+ && rm -r /usr/src/luarocks \
+ && rm -rf /usr/src/tarantool \
+ && rm -rf /usr/src/gperftools \
+ && rm -rf /usr/src/go \
+ && : "---------- remove build deps ----------" \
+ && apk del .build-deps
+
+COPY files/luarocks-config.lua /usr/local/etc/luarocks/config-5.1.lua
+
+RUN set -x \
+ && apk add --no-cache --virtual .run-deps \
+ mariadb-client-libs \
+ libpq \
+ cyrus-sasl \
+ mosquitto-libs \
+ libev \
+ && apk add --no-cache --virtual .build-deps \
+ git \
+ cmake \
+ make \
+ coreutils \
+ gcc \
+ g++ \
+ postgresql-dev \
+ lua-dev \
+ musl-dev \
+ cyrus-sasl-dev \
+ mosquitto-dev \
+ libev-dev \
+ && mkdir -p /rocks \
+ && : "---------- proj (for gis module) ----------" \
+ && wget -O proj.tar.gz http://download.osgeo.org/proj/proj-4.9.3.tar.gz \
+ && mkdir -p /usr/src/proj \
+ && tar -xzf proj.tar.gz -C /usr/src/proj --strip-components=1 \
+ && (cd /usr/src/proj; \
+ ./configure; \
+ make; \
+ make install) \
+ && rm -r /usr/src/proj \
+ && rm -rf /usr/src/proj \
+ && : "---------- geos (for gis module) ----------" \
+ && wget -O geos.tar.bz2 http://download.osgeo.org/geos/geos-3.6.0.tar.bz2 \
+ && mkdir -p /usr/src/geos \
+ && tar -xjf geos.tar.bz2 -C /usr/src/geos --strip-components=1 \
+ && (cd /usr/src/geos; \
+ ./configure; \
+ make; \
+ make install) \
+ && rm -r /usr/src/geos \
+ && rm -rf /usr/src/geos \
+ && : "---------- luarocks ----------" \
+ && luarocks install lua-term \
+ && luarocks install ldoc \
+ && : "avro" \
+ && luarocks install avro-schema $LUAROCK_AVRO_SCHEMA_VERSION \
+ && : "expirationd" \
+ && luarocks install expirationd $LUAROCK_EXPERATIOND_VERSION \
+ && : "queue" \
+ && luarocks install queue $LUAROCK_QUEUE_VERSION \
+ && : "connpool" \
+ && luarocks install connpool $LUAROCK_CONNPOOL_VERSION \
+ && : "shard" \
+ && git clone $LUAROCK_SHARD_REPO /rocks/shard \
+ && git -C /rocks/shard checkout $LUAROCK_SHARD_TAG \
+ && (cd /rocks/shard && luarocks make *rockspec) \
+ && : "http" \
+ && luarocks install http $LUAROCK_HTTP_VERSION \
+ && : "pg" \
+ && luarocks install pg $LUAROCK_TARANTOOL_PG_VERSION \
+ && : "mysql" \
+ && luarocks install mysql $LUAROCK_TARANTOOL_MYSQL_VERSION \
+ && : "memcached" \
+ && luarocks install memcached $LUAROCK_MEMCACHED_VERSION \
+ && : "prometheus" \
+ && luarocks install prometheus $LUAROCK_TARANTOOL_PROMETHEUS_VERSION \
+ && : "curl" \
+ && luarocks install tarantool-curl $LUAROCK_TARANTOOL_CURL_VERSION \
+ && : "mqtt" \
+ && luarocks install mqtt $LUAROCK_TARANTOOL_MQTT_VERSION \
+ && : "gis" \
+ && luarocks install gis $LUAROCK_TARANTOOL_GIS_VERSION \
+ && : "gperftools" \
+ && luarocks install gperftools $LUAROCK_TARANTOOL_GPERFTOOLS_VERSION \
+ && : "---------- remove build deps ----------" \
+ && apk del .build-deps \
+ && rm -rf /rocks
+
+RUN mkdir -p /var/lib/tarantool \
+ && chown tarantool:tarantool /var/lib/tarantool \
+ && mkdir -p /opt/tarantool \
+ && chown tarantool:tarantool /opt/tarantool \
+ && mkdir -p /var/run/tarantool \
+ && chown tarantool:tarantool /var/run/tarantool \
+ && mkdir /etc/tarantool \
+ && chown tarantool:tarantool /etc/tarantool
+
+VOLUME /var/lib/tarantool
+WORKDIR /opt/tarantool
+
+COPY files/tarantool-entrypoint.lua /usr/local/bin/
+COPY files/tarantool_set_config.lua /usr/local/bin/
+COPY files/docker-entrypoint.sh /usr/local/bin/
+COPY files/console /usr/local/bin/
+COPY files/tarantool_is_up /usr/local/bin/
+COPY files/tarantool.default /usr/local/etc/default/tarantool
+
+RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
+ENTRYPOINT ["docker-entrypoint.sh"]
+
+HEALTHCHECK CMD tarantool_is_up
+
+EXPOSE 3301
+CMD [ "tarantool" ]
diff --git a/dockerfiles/alpine_3.5_2.2.1 b/dockerfiles/alpine_3.5_2.2.1
new file mode 100644
index 0000000..a5fff8b
--- /dev/null
+++ b/dockerfiles/alpine_3.5_2.2.1
@@ -0,0 +1,253 @@
+FROM alpine:3.5
+MAINTAINER mail at racktear.com
+
+RUN addgroup -S tarantool \
+ && adduser -S -G tarantool tarantool \
+ && apk add --no-cache 'su-exec>=0.2'
+
+# An ARG instruction goes out of scope at the end of the build
+# stage where it was defined. To use an arg in multiple stages,
+# each stage must include the ARG instruction
+ARG TNT_VER
+ENV TARANTOOL_VERSION=${TNT_VER} \
+ TARANTOOL_DOWNLOAD_URL=https://github.com/tarantool/tarantool.git \
+ TARANTOOL_INSTALL_LUADIR=/usr/local/share/tarantool \
+ CURL_REPO=https://github.com/curl/curl.git \
+ CURL_TAG=curl-7_59_0 \
+ GPERFTOOLS_REPO=https://github.com/gperftools/gperftools.git \
+ GPERFTOOLS_TAG=gperftools-2.5 \
+ LUAROCKS_URL=https://github.com/tarantool/luarocks/archive/6e6fe62d9409fe2103c0fd091cccb3da0451faf5.tar.gz \
+ LUAROCK_SHARD_REPO=https://github.com/tarantool/shard.git \
+ LUAROCK_SHARD_TAG=8f8c5a7 \
+ LUAROCK_AVRO_SCHEMA_VERSION=2.0.1 \
+ LUAROCK_EXPERATIOND_VERSION=1.0.1 \
+ LUAROCK_QUEUE_VERSION=1.0.2 \
+ LUAROCK_CONNPOOL_VERSION=1.1.1 \
+ LUAROCK_HTTP_VERSION=1.0.1 \
+ LUAROCK_MEMCACHED_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_PG_VERSION=2.0.1 \
+ LUAROCK_TARANTOOL_MYSQL_VERSION=2.0.1 \
+ LUAROCK_TARANTOOL_CURL_VERSION=2.3.1 \
+ LUAROCK_TARANTOOL_MQTT_VERSION=1.2.1 \
+ LUAROCK_TARANTOOL_GIS_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_PROMETHEUS_VERSION=1.0.0 \
+ LUAROCK_TARANTOOL_GPERFTOOLS_VERSION=1.0.1
+
+COPY files/gperftools_alpine.diff /
+
+RUN set -x \
+ && apk add --no-cache --virtual .run-deps \
+ libstdc++ \
+ readline \
+ libressl \
+ yaml \
+ lz4 \
+ binutils \
+ ncurses \
+ libgomp \
+ lua \
+ tar \
+ zip \
+ libunwind \
+ icu \
+ ca-certificates \
+ && apk add --no-cache --virtual .build-deps \
+ perl \
+ gcc \
+ g++ \
+ cmake \
+ readline-dev \
+ libressl-dev \
+ yaml-dev \
+ lz4-dev \
+ binutils-dev \
+ ncurses-dev \
+ lua-dev \
+ musl-dev \
+ make \
+ git \
+ libunwind-dev \
+ autoconf \
+ automake \
+ libtool \
+ linux-headers \
+ go \
+ tcl \
+ icu-dev \
+ wget \
+ && : "---------- curl ----------" \
+ && mkdir -p /usr/src/curl \
+ && git clone "$CURL_REPO" /usr/src/curl \
+ && git -C /usr/src/curl checkout "$CURL_TAG" \
+ && (cd /usr/src/curl \
+ && ./buildconf \
+ && ./configure --prefix "/usr/local" \
+ && make -j \
+ && make install) \
+ && : "---------- gperftools ----------" \
+ && mkdir -p /usr/src/gperftools \
+ && git clone "$GPERFTOOLS_REPO" /usr/src/gperftools \
+ && git -C /usr/src/gperftools checkout "$GPERFTOOLS_TAG" \
+ && (cd /usr/src/gperftools; \
+ patch -p1 < /gperftools_alpine.diff; \
+ rm /gperftools_alpine.diff; \
+ ./autogen.sh; \
+ ./configure; \
+ make; \
+ cp .libs/libprofiler.so* /usr/local/lib;) \
+ && (GOPATH=/usr/src/go go get github.com/google/pprof; \
+ cp /usr/src/go/bin/pprof /usr/local/bin) \
+ && : "---------- tarantool ----------" \
+ && mkdir -p /usr/src/tarantool \
+ && git clone "$TARANTOOL_DOWNLOAD_URL" /usr/src/tarantool \
+ && git -C /usr/src/tarantool checkout "$TARANTOOL_VERSION" \
+ && git -C /usr/src/tarantool submodule update --init --recursive \
+ && (cd /usr/src/tarantool; \
+ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo\
+ -DENABLE_BUNDLED_LIBYAML:BOOL=OFF\
+ -DENABLE_BACKTRACE:BOOL=ON\
+ -DENABLE_DIST:BOOL=ON\
+ .) \
+ && make -C /usr/src/tarantool -j\
+ && make -C /usr/src/tarantool install \
+ && make -C /usr/src/tarantool clean \
+ && : "---------- small ----------" \
+ && (cd /usr/src/tarantool/src/lib/small; \
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ .) \
+ && make -C /usr/src/tarantool/src/lib/small \
+ && make -C /usr/src/tarantool/src/lib/small install \
+ && make -C /usr/src/tarantool/src/lib/small clean \
+ && : "---------- msgpuck ----------" \
+ && (cd /usr/src/tarantool/src/lib/msgpuck; \
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ .) \
+ && make -C /usr/src/tarantool/src/lib/msgpuck \
+ && make -C /usr/src/tarantool/src/lib/msgpuck install \
+ && make -C /usr/src/tarantool/src/lib/msgpuck clean \
+ && : "---------- luarocks ----------" \
+ && wget -O luarocks.tar.gz "$LUAROCKS_URL" \
+ && mkdir -p /usr/src/luarocks \
+ && tar -xzf luarocks.tar.gz -C /usr/src/luarocks --strip-components=1 \
+ && (cd /usr/src/luarocks; \
+ ./configure; \
+ make build; \
+ make install) \
+ && rm -r /usr/src/luarocks \
+ && rm -rf /usr/src/tarantool \
+ && rm -rf /usr/src/gperftools \
+ && rm -rf /usr/src/go \
+ && : "---------- remove build deps ----------" \
+ && apk del .build-deps
+
+COPY files/luarocks-config.lua /usr/local/etc/luarocks/config-5.1.lua
+
+RUN set -x \
+ && apk add --no-cache --virtual .run-deps \
+ mariadb-client-libs \
+ libpq \
+ cyrus-sasl \
+ mosquitto-libs \
+ libev \
+ && apk add --no-cache --virtual .build-deps \
+ git \
+ cmake \
+ make \
+ coreutils \
+ gcc \
+ g++ \
+ postgresql-dev \
+ lua-dev \
+ musl-dev \
+ cyrus-sasl-dev \
+ mosquitto-dev \
+ libev-dev \
+ libressl-dev \
+ && mkdir -p /rocks \
+ && : "---------- proj (for gis module) ----------" \
+ && wget -O proj.tar.gz http://download.osgeo.org/proj/proj-4.9.3.tar.gz \
+ && mkdir -p /usr/src/proj \
+ && tar -xzf proj.tar.gz -C /usr/src/proj --strip-components=1 \
+ && (cd /usr/src/proj; \
+ ./configure; \
+ make; \
+ make install) \
+ && rm -r /usr/src/proj \
+ && rm -rf /usr/src/proj \
+ && : "---------- geos (for gis module) ----------" \
+ && wget -O geos.tar.bz2 http://download.osgeo.org/geos/geos-3.6.0.tar.bz2 \
+ && mkdir -p /usr/src/geos \
+ && tar -xjf geos.tar.bz2 -C /usr/src/geos --strip-components=1 \
+ && (cd /usr/src/geos; \
+ ./configure; \
+ make; \
+ make install) \
+ && rm -r /usr/src/geos \
+ && rm -rf /usr/src/geos \
+ && : "---------- luarocks ----------" \
+ && luarocks install lua-term \
+ && luarocks install ldoc \
+ && : "avro" \
+ && luarocks install avro-schema $LUAROCK_AVRO_SCHEMA_VERSION \
+ && : "expirationd" \
+ && luarocks install expirationd $LUAROCK_EXPERATIOND_VERSION \
+ && : "queue" \
+ && luarocks install queue $LUAROCK_QUEUE_VERSION \
+ && : "connpool" \
+ && luarocks install connpool $LUAROCK_CONNPOOL_VERSION \
+ && : "shard" \
+ && git clone $LUAROCK_SHARD_REPO /rocks/shard \
+ && git -C /rocks/shard checkout $LUAROCK_SHARD_TAG \
+ && (cd /rocks/shard && luarocks make *rockspec) \
+ && : "http" \
+ && luarocks install http $LUAROCK_HTTP_VERSION \
+ && : "pg" \
+ && luarocks install pg $LUAROCK_TARANTOOL_PG_VERSION \
+ && : "mysql" \
+ && luarocks install mysql $LUAROCK_TARANTOOL_MYSQL_VERSION \
+ && : "memcached" \
+ && luarocks install memcached $LUAROCK_MEMCACHED_VERSION \
+ && : "prometheus" \
+ && luarocks install prometheus $LUAROCK_TARANTOOL_PROMETHEUS_VERSION \
+ && : "curl" \
+ && luarocks install tarantool-curl $LUAROCK_TARANTOOL_CURL_VERSION \
+ && : "mqtt" \
+ && luarocks install mqtt $LUAROCK_TARANTOOL_MQTT_VERSION \
+ && : "gis" \
+ && luarocks install gis $LUAROCK_TARANTOOL_GIS_VERSION \
+ && : "gperftools" \
+ && luarocks install gperftools $LUAROCK_TARANTOOL_GPERFTOOLS_VERSION \
+ && : "---------- remove build deps ----------" \
+ && apk del .build-deps \
+ && rm -rf /rocks
+
+RUN mkdir -p /var/lib/tarantool \
+ && chown tarantool:tarantool /var/lib/tarantool \
+ && mkdir -p /opt/tarantool \
+ && chown tarantool:tarantool /opt/tarantool \
+ && mkdir -p /var/run/tarantool \
+ && chown tarantool:tarantool /var/run/tarantool \
+ && mkdir /etc/tarantool \
+ && chown tarantool:tarantool /etc/tarantool
+
+VOLUME /var/lib/tarantool
+WORKDIR /opt/tarantool
+
+COPY files/tarantool-entrypoint.lua /usr/local/bin/
+COPY files/tarantool_set_config.lua /usr/local/bin/
+COPY files/docker-entrypoint.sh /usr/local/bin/
+COPY files/console /usr/local/bin/
+COPY files/tarantool_is_up /usr/local/bin/
+COPY files/tarantool.default /usr/local/etc/default/tarantool
+
+RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh # backwards compat
+ENTRYPOINT ["docker-entrypoint.sh"]
+
+HEALTHCHECK CMD tarantool_is_up
+
+EXPOSE 3301
+CMD [ "tarantool" ]
diff --git a/versions/alpine_3.5_1.10.0 b/versions/alpine_3.5_1.10.0
new file mode 100644
index 0000000..818e3ac
--- /dev/null
+++ b/versions/alpine_3.5_1.10.0
@@ -0,0 +1 @@
+1.10.0-0-g42612ec04
diff --git a/versions/alpine_3.5_1.10.2 b/versions/alpine_3.5_1.10.2
new file mode 100644
index 0000000..5c1acd3
--- /dev/null
+++ b/versions/alpine_3.5_1.10.2
@@ -0,0 +1 @@
+1.10.2-0-gc0d8063b6
diff --git a/versions/alpine_3.5_1.10.3 b/versions/alpine_3.5_1.10.3
new file mode 100644
index 0000000..515f8f7
--- /dev/null
+++ b/versions/alpine_3.5_1.10.3
@@ -0,0 +1 @@
+1.10.3-0-g0b7078a93
diff --git a/versions/alpine_3.5_1.10.4 b/versions/alpine_3.5_1.10.4
new file mode 100644
index 0000000..19bee8b
--- /dev/null
+++ b/versions/alpine_3.5_1.10.4
@@ -0,0 +1 @@
+1.10.4-0-g9dbcdba14
diff --git a/versions/alpine_3.5_2.1.1 b/versions/alpine_3.5_2.1.1
new file mode 100644
index 0000000..0c1c7e7
--- /dev/null
+++ b/versions/alpine_3.5_2.1.1
@@ -0,0 +1 @@
+2.1.1-0-g8a09adb46
diff --git a/versions/alpine_3.5_2.1.2 b/versions/alpine_3.5_2.1.2
new file mode 100644
index 0000000..707313e
--- /dev/null
+++ b/versions/alpine_3.5_2.1.2
@@ -0,0 +1 @@
+2.1.2-2-gd06f95fc1
diff --git a/versions/alpine_3.5_2.1.3 b/versions/alpine_3.5_2.1.3
new file mode 100644
index 0000000..b242e69
--- /dev/null
+++ b/versions/alpine_3.5_2.1.3
@@ -0,0 +1 @@
+2.1.3-1-g62c1bcdaf
diff --git a/versions/alpine_3.5_2.2.0 b/versions/alpine_3.5_2.2.0
new file mode 100644
index 0000000..c8920cc
--- /dev/null
+++ b/versions/alpine_3.5_2.2.0
@@ -0,0 +1 @@
+2.2.0-0-gb58001013
diff --git a/versions/alpine_3.5_2.2.1 b/versions/alpine_3.5_2.2.1
new file mode 100644
index 0000000..10db341
--- /dev/null
+++ b/versions/alpine_3.5_2.2.1
@@ -0,0 +1 @@
+2.2.1-3-g878e2a42c
diff --git a/versions/alpine_3.5_2.2.2 b/versions/alpine_3.5_2.2.2
new file mode 100644
index 0000000..243a7ec
--- /dev/null
+++ b/versions/alpine_3.5_2.2.2
@@ -0,0 +1 @@
+2.2.2-4-g4f8ac5999
diff --git a/versions/alpine_3.5_2.3 b/versions/alpine_3.5_2.3
new file mode 100644
index 0000000..0d9a82f
--- /dev/null
+++ b/versions/alpine_3.5_2.3
@@ -0,0 +1 @@
+2.3.1-2-g92750c828
diff --git a/versions/alpine_3.5_2.3.1 b/versions/alpine_3.5_2.3.1
new file mode 100644
index 0000000..0d9a82f
--- /dev/null
+++ b/versions/alpine_3.5_2.3.1
@@ -0,0 +1 @@
+2.3.1-2-g92750c828
--
2.17.1
More information about the Tarantool-patches
mailing list