LoginSignup
7

More than 5 years have passed since last update.

32bitのDocker環境でMattermostを構築する。

Last updated at Posted at 2016-01-30

余っている32bitパソコンにDocker環境を作って、Mattermostを構築してみます。

前提

  • 32bit Windowsパソコンしか余っていなかった。
  • Virtual Boxは導入しました。
  • Ubuntu Server 14.04で仮想サーバ立てました。

Dockerを導入

golfingをインストール

golangの32bitイメージを取得し適当な場所に解凍。
解凍後、GOROOT,GOPATHを指定。

$ pwd
/home/hoge
$ wget https://storage.googleapis.com/golang/go1.5.3.linux-386.tar.gz
$ tar zxvf go1.5.3.linux-386.tar.gz
$ export GOROOT=$HOME/go
$ mkdir gocode
$ export GOPATH=$HOME/gocode
$ export PATH=$GOPATH/bin:$PATH:$GOROOT/bin

dockerのビルドに必要なものをapt-get instal

$ sudo apt-get -y install git linux-image-extra-$(uname -r) lxc xz-utils

dockerとubuntu32bitイメージのインストール

docker-32bit/ubuntuのbuild-image.shを実行します。
※proxy環境で実行する場合、以下のようにshを修正して実行

#!/bin/bash -ex
### Build a docker image for ubuntu i386.

### settings
arch=i386
suite=${1:-trusty}
chroot_dir="/var/chroot/$suite"
apt_mirror='http://archive.ubuntu.com/ubuntu'
docker_image="32bit/ubuntu:${1:-14.04}"
##########以下のように環境変数を追加###########
export http_proxy=http://proxy.hogehoge:8080
##########################################

### make sure that the required tools are installed
packages="debootstrap dchroot"
which docker || packages="$packages docker.io"
apt-get install -y $packages

### install a minbase system with debootstrap
export DEBIAN_FRONTEND=noninteractive
########## 以下のように修正 ################
# debootstrap --variant=minbase --arch=$arch
http_proxy=$http_proxy debootstrap --variant=minbase --arch=$arch 
#########################################
$suite $chroot_dir $apt_mirror

以下省略

mattermostのビルドに必要なnode,rpmをインストール

$ sudo apt-get install npm
$ sudo apt-get install build-essential libssl-dev
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash
$ . ~/.bashrc
$ nvm install 5.5.0

mattermostのビルドに必要なruby,compassをインストール

$ sudo apt-get update
$ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties
$ sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
$ curl -sSL https://rvm.io/mpapis.asc | gpg --import -
$ curl -L https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
$ echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc
$ rvm install 2.1.2
$ rvm use 2.1.2 --default
$ ruby -v
$ gem install compass

mattemostを32bit環境でビルド

docker imageでは64bitでビルドしたものしかないので、githubから
cloneしてビルドします。

$ go get github.com/kr/godep
$ mkdir -p $GOPATH/src/github.com/mattermost/platform
$ git clone https://github.com/mattermost/platform $GOPATH/src/github.com/mattermost/platform
$ cd $GOPATH/src/github.com/mattermost/platform
$ make dist

mattemostをdocker buildしてimage構築

最後にmattermostのdocker imageを作成します。
まずは、docker buildに必要なファイルを集めます。

$ cd
$ mkdir mattermost
$ cd mattermost
$ cp $GOPATH/src/github.com/mattermost/platform/docker/1.4/Dockerfile ./.
$ cp $GOPATH//src/github.com/mattermost/platform/docker/1.4/config_docker.json ./.
$ cp $GOPATH//src/github.com/mattermost/platform/docker/1.4/docker-entry.sh ./.

ここでDockerfileを修正します。

# Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
# See License.txt for license information.
################元となるubuntuのイメージを32bitに変更#############
#FROM ubuntu:14.04
FROM 32bit/ubuntu:14.04
################################################################

#
# Install SQL
#

ENV MYSQL_ROOT_PASSWORD=mostest
ENV MYSQL_USER=mmuser
ENV MYSQL_PASSWORD=mostest
ENV MYSQL_DATABASE=mattermost_test

###########追加#############
RUN dpkg-divert --local --rename --add /sbin/initctl
RUN ls -l /sbin/initctl.distrib
RUN ln -s /bin/true /sbin/initctl
###########################

~途中略~
# Copy over files
############# mattersoftのバイナリの取得元を変更##########################
#ADD https://github.com/mattermost/platform/releases/download/v1.4.0/mattermost.tar.gz /
COPY mattermost.tar.gz /
########################################################################
RUN tar -zxvf /mattermost.tar.gz --strip-components=1 && rm /mattermost.tar.gz
ADD config_docker.json /
ADD docker-entry.sh /

RUN chmod +x /docker-entry.sh
ENTRYPOINT /docker-entry.sh
~以下略~

最後にdocker buildして、起動

$ cd
$ sudo docker build -t local/mattermost:1.0.0 mattermost
$ sudo docker run --name mattermost-dev -d --publish 8065:80 local/mattermost:1.0.0

これでブラウザからhttp://localhost:8065にアクセスすればmattermostを利用できます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7