 20d9a60cbb
			
		
	
	20d9a60cbb
	
	
	
		
			
			The util-linux-dev package on Alpine Linux provides the libuuid.so library and thus it must not be removed.
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # This Dockerfile builds an image for MariaDB MaxScale:
 | |
| # https://mariadb.com/products/technology/maxscale
 | |
| # The example configuration file maxscale.cnf should be in the build directory
 | |
| # when building the image.
 | |
| 
 | |
| FROM alpine:latest
 | |
| 
 | |
| # Packages required for building MaxScale and Avro-C
 | |
| ARG DEPENDENCIES_PKGS="bash bison cmake curl flex gcc git gnutls gnutls-dev g++ \
 | |
| jansson jansson-dev libedit libedit-dev libgcrypt libgcrypt-dev libstdc++ lua \
 | |
| lua-dev make ncurses ncurses-dev openssl openssl-dev perl sqlite sqlite-dev \
 | |
| sqlite-libs tcl-dev util-linux-dev xz xz-dev"
 | |
| 
 | |
| # Packages that can be removed after build
 | |
| ARG REM_PKGS="bison bash cmake flex gcc git gnutls-dev g++ jansson-dev \
 | |
| libedit-dev libgcrypt-dev lua-dev make ncurses-dev openssl-dev perl sqlite-dev \
 | |
| tcl-dev xz-dev"
 | |
| 
 | |
| # MaxScale-specific parameters
 | |
| ARG MS_DIR=/MaxScale_workdir
 | |
| ARG MS_CMAKE_PARS="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | |
| -DWITH_SCRIPTS=N -DTARGET_COMPONENT=all"
 | |
| ARG MS_BRANCH=develop
 | |
| ARG MS_REPO=https://github.com/mariadb-corporation/MaxScale.git
 | |
| 
 | |
| # Avro-specific parameters
 | |
| ARG AV_DIR=/Avro_workdir
 | |
| ARG AV_PREF=avro-c-1.8.2
 | |
| ARG AV_ARCH=$AV_PREF.tar.gz
 | |
| ARG AV_URL=ftp://ftp.funet.fi/pub/mirrors/apache.org/avro/avro-1.8.2/c/$AV_ARCH
 | |
| ARG AV_CMAKE_PARS="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RelWithDebInfo \
 | |
| -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC"
 | |
| 
 | |
| RUN apk -U add $DEPENDENCIES_PKGS && \
 | |
|     mkdir $MS_DIR && mkdir $AV_DIR && mkdir $MS_DIR/Build && mkdir $AV_DIR/Build && \
 | |
|     cd $AV_DIR && \
 | |
| # Download Avro-C, build and install
 | |
|     curl --output $AV_ARCH $AV_URL && \
 | |
|     tar -zxvf $AV_ARCH && cd Build && \
 | |
|     cmake $AV_CMAKE_PARS ../$AV_PREF && \
 | |
|     make install && \
 | |
|     cd $MS_DIR && \
 | |
| # Download MaxScale, build and install
 | |
|     git clone --depth 1 --branch $MS_BRANCH $MS_REPO && cd Build && \
 | |
|     cmake $MS_CMAKE_PARS ../MaxScale && \
 | |
|     make install && (./postinst || true) && \
 | |
| # Remove unneeded packages and work directories
 | |
|     apk del $REM_PKGS && \
 | |
|     cd / && rm -rf $MS_DIR $AV_DIR
 | |
| 
 | |
| COPY ./maxscale.cnf /etc/
 | |
| ENTRYPOINT ["maxscale", "-d"]
 | |
| CMD ["-lstdout"]
 |