Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Containing Atlassian
Search
David McKay
October 26, 2016
Technology
1
86
Containing Atlassian
David McKay
October 26, 2016
Tweet
Share
More Decks by David McKay
See All by David McKay
The Telegraf Toolbelt (InfluxDays SF, 2019)
rawkode
0
150
The DShell Pattern (DevOpsDays London 2019)
rawkode
0
210
Cloud Native Telegraf - Cloud Native London (September 2019)
rawkode
0
64
Developing Your Own Flux Packages (InfluxDays London 2019)
rawkode
0
130
Introduction to Time Series (Software Circus, April 2019)
rawkode
0
140
Introduction to Time Series (Cloud Native Kraków, April 2019)
rawkode
0
93
Introduction to Time Series (Cloud Native Wales, April 2019)
rawkode
0
90
Introduction to InfluxDB 2.0 (Kubernetes London - February 2019)
rawkode
0
69
Kickass Development Environments with Docker (PHPBenelux 2019)
rawkode
0
120
Other Decks in Technology
See All in Technology
Backlog AI アシスタントが切り開く未来
vvatanabe
1
130
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
140
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
940
20250807_Kiroと私の反省会
riz3f7
0
200
VLMサービスを用いた請求書データ化検証 / SaaSxML_Session_1
sansan_randd
0
240
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
670
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
730
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
120
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
920
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
26
13k
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
990
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
240
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Fireside Chat
paigeccino
38
3.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Writing Fast Ruby
sferik
628
62k
A designer walks into a library…
pauljervisheath
207
24k
Side Projects
sachag
455
43k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
It's Worth the Effort
3n
185
28k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Transcript
Containing Atlassian Running the Atlassian Suite with Docker
David McKay @rawkode Software Consultant Serial Meetup Organiser
Containing Atlassian
Why Containers?
Containment for neatness
Containment for security
Containment for speed
Why Docker?
Because it’s a trendy
Because it’s good on the CV
Because all your friends are doing it
None
Docker OK; I’m Serial Now • Industry Leader • Always
Evolving • Proven at Scale • Tooling for all environments • OCI / runC • Official Images
Vocabulary • Dockerfile • Image • Container
Dockerfile FROM ubuntu:16.10 RUN apt-get update RUN apt-get install x
y z CMD java
Docker Image $ docker build -t acme/jira:7.0 .
Docker Images $ docker images REPOSITORY TAG IMAGE ID CREATED
SIZE elixir 1.3 b80c8e9d71f9 3 weeks ago 758.7 MB acme/jira 7.0 e552540688e1 4 weeks ago 224.4 MB alpine 3.4 ee4603260daa 4 weeks ago 4.803 MB
Docker Container $ docker run acme/jira:7.0
Orchestration With Docker Swarm Mode
Swarm Mode ≇ Swarm
Vocabulary • Node • Manager • Worker • Service
Creating a Swarm $ docker swarm init
Joining a Swarm $ docker swarm join --token xxxx 192.168.66.100:2377
Creating a Service $ docker service create --name jira acme/jira:7.0
Creating Services $ docker service create --name crowd acme/crowd:2.10 $
docker service create --name jira acme/jira:7.0 $ docker service create --name confl.. acme/confluence:5.10
Scaling
Scaling a Service $ docker service scale jira=4
Service Discovery
Scaling a Service $ wget http://jira:8080 $ wget http://confluence:8081
Oh yeah, and you get load balancing for free ...
Upgrading
Scaling a Service $ docker service update --image acme/jira:10.1 jira
Potential Problems
Configuration
Configuration $ docker service create --env DB_HOST=postgres $ docker service
update --env-add DB_HOST=postgres
Persistence
Persistence $ docker service create --mount \ type=mount, source=/mnt/volume, destination=/path/in/container
⚖ How can I scale this?
Scaling the Persistence NFS / Fuse mount on all nodes
Feeling fancy? Check out CernVM-FS!
This brings other problems
With the Atlassian Suite You can deal with it, as
most writes to the disk are simply cache! Except BitBucket
Official Support?
⏳ It’s being worked on…
Atlassian on Docker Hub https://hub.docker.com/r/atlassian/
☹ BitBucket & Confluence only
Want more? Pester @durdn
That’s it! Any questions?