DockerでJiraとConfluenceを立てる

# 概要
- JiraとConfluenceを自前サーバで立てる
- Install & 環境構築を楽する為にDockerを使う

# 環境
- 自前サーバは何でも良いが、とりあえず今回はMacOS上のVirtualBox/Vagrantで用意
- VMのOSはUbuntu18.04を使用（dockerのinstall部分は、他OSの場合、手順が異なるので注意)

# 手順
## Vagrantfileを作成する
```bash:bash
# vagrantfileを置くdirectoryを作成
iguchi@igc-mbp:~$ mkdir -p my-vagrant/jira-confluence-study

# vagrantfileを生成
iguchi@igc-mbp:~/my-vagrant/jira-confluence-study$ vagrant init bento/ubuntu-18.04
```

## VMのNetworkとMemoryを設定する（Vagrantfileに書く）
```bash:bash
iguchi@igc-mbp:~/my-vagrant/jira-confluence-study$ vi Vagrantfile
...(omit)...
# 以下をコメントイン。IP addressは適宜変える。今回はdefaultのまま
  config.vm.network "private_network", ip: "192.168.33.10"
...(omit)...
# 以下のあたりをコメントイン。Vagrantfileでvmに割当てるmemory sizeを増やしておく
# 理由：jiraとconfluenceを一つのVM内で動かすにはdefaultの1024はmemory不足
  config.vm.provider "virtualbox" do |vb|
    # Display the VirtualBox GUI when booting the machine
    # vb.gui = true

    # Customize the amount of memory on the VM:
    vb.memory = "2048"
  end
...(omit)...
```

## VMを起動する
```bash:bash
iguchi@igc-mbp:~/my-vagrant/jira-confluence-study$ vagrant up
```

## 起動したVMにssh接続する
```bash:bash
iguchi@igc-mbp:~/my-vagrant/jira-confluence-study$ vagrant ssh
```

## VMにDockerをinstallする
- 参考: https://docs.docker.com/install/linux/docker-ce/ubuntu/
- 注： CentOSの場合はこちらを参照: https://docs.docker.com/install/linux/docker-ce/centos/


```bash:bash

vagrant@vagrant:~$ sudo apt update
vagrant@vagrant:~$ sudo apt-get remove docker docker-engine docker.io containerd runc
vagrant@vagrant:~$ sudo apt update
vagrant@vagrant:~$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
vagrant@vagrant:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
vagrant@vagrant:~$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
vagrant@vagrant:~$ sudo apt update
vagrant@vagrant:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
vagrant@vagrant:~$ sudo groupadd docker
groupadd: group 'docker' already exists
vagrant@vagrant:~$ sudo usermod -aG docker $USER
vagrant@vagrant:~$ newgrp docker
```

## Dockerを使ってJIRAをinstallする
- 参考1: https://hub.docker.com/r/atlassian/jira-software
- 参考2: https://ja.confluence.atlassian.com/adminjiraserver/installing-jira-applications-938846823.html

```bash:bash
# jiraの永続データを保存するvolumeを作成
vagrant@vagrant:~$ docker volume create --name jiraVolume
# jiraのコンテナを起動
vagrant@vagrant:~$ docker run -v jiraVolume:/var/atlassian/application-data/jira --name="jira" -d -p 8080:8080 atlassian/jira-software
```

## httpでJiraにアクセスし、GUIの指示に従って設定
http://192.168.33.10:8080

## Dockerを使ってConfluenceをinstallする
- 参考1: https://ja.confluence.atlassian.com/doc/confluence-installation-guide-135681.html
- 参考2: https://hub.docker.com/r/atlassian/confluence-server/

```bash:bash
# confluenceの永続データを保存するvolumeを作成
vagrant@vagrant:~$ docker volume create --name confluenceVolume
# confluenceのコンテナを起動
vagrant@vagrant:~$ docker run -v confluenceVolume:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 atlassian/confluence-server
```

## httpでConfluenceにアクセスし、GUIの指示に従って設定
http://192.168.33.10:8090