├── Dockerfile ├── docker-install.md ├── README.md └── setup-os.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | # Prepare OS 4 | COPY setup-os.sh /root 5 | RUN /root/setup-os.sh 6 | 7 | # Copy package from build directory 8 | ARG implyversion 9 | COPY imply-$implyversion /opt/imply-${implyversion} 10 | RUN mkdir -p /mnt/imply/var && ln -snf /mnt/imply/var /opt/imply-${implyversion}/var 11 | RUN ln -snf /opt/imply-${implyversion} /opt/imply 12 | 13 | EXPOSE 1527 2181 8081 8082 8083 8090 8091 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8200 9095 14 | 15 | WORKDIR /opt/imply-$implyversion 16 | 17 | CMD ["bin/supervise", "-c", "conf/supervise/quickstart.conf"] 18 | -------------------------------------------------------------------------------- /docker-install.md: -------------------------------------------------------------------------------- 1 | # Tutorial 2 | 3 | ## Install Docker (Mac) 4 | 5 | [Install Homebrew](http://brew.sh/#install) 6 | 7 | ```sh 8 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 9 | ``` 10 | 11 | [Install Cask](http://caskroom.io/) 12 | 13 | ```sh 14 | brew install caskroom/cask/brew-cask 15 | ``` 16 | 17 | Install Virtualbox 18 | 19 | ```sh 20 | brew update 21 | brew cask install virtualbox 22 | ``` 23 | 24 | Docker Machine 25 | 26 | ```sh 27 | brew update 28 | brew install docker-machine docker 29 | docker-machine create --driver virtualbox default 30 | eval "$(docker-machine env default)" 31 | ``` 32 | 33 | Is it working? 34 | 35 | ``` 36 | docker run hello-world 37 | ``` 38 | 39 | [build imply-docker](README.md) 40 | 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Dockerized version of the distribution available at https://imply.io/download. 2 | 3 | [Install Docker](docker-install.md) 4 | 5 | To build an image, first download the Imply distribution from the link above, place it in the cloned repository, and then run: 6 | 7 | ``` 8 | export implyversion=2.5.8 9 | tar -xzf imply-$implyversion.tar.gz 10 | docker build -t imply:$implyversion --build-arg implyversion=$implyversion . 11 | ``` 12 | 13 | To run the image in quickstart mode (single-machine, non-clustered): 14 | 15 | ``` 16 | docker run -p 8081-8110:8081-8110 -p 8200:8200 -p 8888:8888 -p 9095:9095 -d --name imply imply:$implyversion 17 | ``` 18 | 19 | To load the example data: 20 | 21 | ``` 22 | docker exec -it imply bin/post-index-task -f quickstart/wikipedia-index.json 23 | ``` 24 | 25 | To enter the container, if you want: 26 | 27 | ``` 28 | docker exec -it imply /bin/bash 29 | ``` 30 | 31 | To stop the container: 32 | 33 | ``` 34 | docker stop imply 35 | ``` 36 | -------------------------------------------------------------------------------- /setup-os.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -eux 2 | 3 | # 4 | # Base OS stuff 5 | # 6 | 7 | apt-get update 8 | apt-get -y upgrade 9 | apt-get -y install --no-install-recommends \ 10 | curl apt-transport-https \ 11 | python python2.7 perl \ 12 | software-properties-common gnupg2 jq vim less 13 | 14 | # 15 | # Sync Java (Azul Zulu) repository 16 | # 17 | 18 | apt-key add - <<'EOT' 19 | -----BEGIN PGP PUBLIC KEY BLOCK----- 20 | Version: SKS 1.1.6 21 | Comment: Hostname: keyserver.ubuntu.com 22 | 23 | mQINBFNgFa8BEADTL/REB10M+TfiZOtFHqL5LHKkzTMn/O2r5iIqXGhi6iwZazFs9S5g1eU7 24 | WMen5Xp9AREs+OvaHx91onPZ7ZiP7VpZ6ZdwWrnVk1Y/HfI59tWxmNYWDmKYBGMj4EUpFPSE 25 | 9EnFj7dm1WdlCvpognCwZQl9D3BseGqN7OLHfwqqmOlbYN9hHYkT+CaqOoWDIGMB3UkBlMr0 26 | GuujEP8N1gxg7EOcSCsZH5aKtXubdUlVSphfAAwDz4MviB39J22sPBnKmaOT3TUTO5vGeKtC 27 | 9BAvtgA82jY2TtCEjetnfK/qtzj/6j2NxVUbHQydwNQVRU92A7334YvCbn3xUUNI0WOscdmf 28 | pgCU0Z9Gb2IqDb9cMjgUi8F6MG/QY9/CZjX62XrHRPm3aXsCJOVh/PO1sl2A/rvv8AkpJKYy 29 | hm6T8OBFptCsA3V4Oic7ZyYhqV0u2r4NON+1MoUeuuoeY2tIrbRxe3ffVOxPzrESzSbc8LC2 30 | tYaP+wGdW0f57/CoDkUzlvpReCUI1Bv5zP4/jhC63Rh6lffvSf2tQLwOsf5ivPhUtwUfOQjg 31 | v9P8Wc8K7XZpSOMnDZuDe9wuvB/DiH/P5yiTs2RGsbDdRh5iPfwbtf2+IX6h2lNZXiDKt9Gc 32 | 26uzeJRx/c7+sLunxq6DLIYvrsEipVI9frHIHV6fFTmqMJY6SwARAQABtEdBenVsIFN5c3Rl 33 | bXMsIEluYy4gKFBhY2thZ2Ugc2lnbmluZyBrZXkuKSA8cGtpLXNpZ25pbmdAYXp1bHN5c3Rl 34 | bXMuY29tPokCOAQTAQIAIgUCU2AVrwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ 35 | sZmDYSGb2cnJ8xAAz1V1PJnfOyaRIP2NHo2uRwGdPsA4eFMXb4Z08eGjDMD3b9WW3D0XnCLb 36 | JpaZ6klz0W0s2tcYSneTBaSsRAqxgJgBZ5ZMXtrrHld/5qFoBbStLZLefmcPhnfvamwHDCTL 37 | Uex8NIAI1u3e9Rhb5fbH+gpuYpwHX7hz0FOfpn1sxR03UyxU+ey4AdKe9LG3TJVnB0Wcgxpo 38 | bpbqweLHyzcEQCNoFV3r1rlE13Y0aE31/9apoEwiYvqAzEmE38TukDLl/Qg8rkR1t0/lok2P 39 | G6pWqdN7pmoUovBTvDi5YOthcjZcdOTXXn2Yw4RZVF9uhRsVfku1Eg25SnOje3uYsmtQLME4 40 | eESbePdjyV/okCIle66uHZse+7gNyNmWpf01hM+VmAySIAyKa0Ku8AXZMydEcJTebrNfW9uM 41 | LsBx3Ts7z/CBfRng6F8louJGlZtlSwddTkZVcb26T20xeo0aZvdFXM2djTi/a5nbBoZQL85A 42 | EeV7HaphFLdPrgmMtS8sSZUEVvdaxp7WJsVuF9cONxsvx40OYTvfco0W41Lm8/sEuQ7YueEV 43 | pZxiv5kX56GTU9vXaOOi+8Z7Ee2w6Adz4hrGZkzztggs4tM9geNYnd0XCdZ/ICAskKJABg7b 44 | iDD1PhEBrqCIqSE3U497vibQMpkkl/Zpp0BirhGWNyTg8K4JrsQ= 45 | =d320 46 | -----END PGP PUBLIC KEY BLOCK----- 47 | EOT 48 | 49 | echo "deb http://repos.azulsystems.com/debian stable main" > /etc/apt/sources.list.d/zulu.list 50 | 51 | # 52 | # Java 53 | # 54 | 55 | apt-get update 56 | apt-get -y install zulu-8 57 | 58 | # 59 | # Housekeeping 60 | # 61 | 62 | apt-get -y remove software-properties-common 63 | apt-get -y autoremove 64 | apt-get -y clean 65 | rm -fr /tmp/* 66 | --------------------------------------------------------------------------------