Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

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

余っている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を利用できます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?