Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
僕とHaconiwa /haconiwa-intro
Search
KONDO Uchio
August 29, 2016
Technology
1
1.5k
僕とHaconiwa /haconiwa-intro
KIXS #0 LT 大会にて
https://kixs.doorkeeper.jp/events/49820
KONDO Uchio
August 29, 2016
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.5k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
270
Narrative of Ruby & Rust
udzura
0
240
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.8k
Talk of RBS
udzura
0
470
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
820
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
760
Device access filtering in cgroup v2
udzura
1
960
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
870
Other Decks in Technology
See All in Technology
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
エンジニアリングをやめたくないので問い続ける
estie
2
1.2k
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.4k
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
4
150
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
2
160
ChatGPTで論⽂は読めるのか
spatial_ai_network
11
29k
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
4
280
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
260
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
240
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.6k
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
210
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
Rails Girls Zürich Keynote
gr2m
95
14k
KATA
mclloyd
PRO
33
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Cult of Friendly URLs
andyhume
79
6.7k
RailsConf 2023
tenderlove
30
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Transcript
͋Δ͍ԼܥΠϯσΟʔόϯυγʔϯʹ͍ͭͯ 6DIJP,POEP ,*94 ͱ)BDPOJXB GSPNIUUQTIPXDBTFDJUZGVLVPLBMHKQBMMSJHIUTSFTFSWFE
ΤϯδχΞ݉ਓؒ 6DIJP,POEP!VE[VSB (.0ϖύϘٕज़ج൫νʔϜ
!VE[VSBͷਓؒྺ ΄Ͳ3VCZਥͱͯ͠ΞοϓϦέʔγϣ ϯΤϯδχΞΛܦݧ͠ɺۀγεςϜɺ &$αΠτɺΦϯϥΠϯήʔϜͳͲΛ ܦͯϖύϘɻͦΕͱҰॹʹౚژ͔Β ԬʹҠॅ͢Δɻ ϖύϘͰྲྀΕͰ1VQQFUΛओʹ৮Δ ۀʹैࣄ͍͕ͯͨ͠ɺ࠷ۙ$ݴޠ ͱNSVCZͰγεςϜϓϩάϥϛϯάॳ ৺ऀͱͯ͠ؤு͍ͬͯΔɻ
͖ͳϙέϞϯൃੜҬඦಓɻ
ΞϨͰ͢CZ=
)BDPOJXBͱ
)BDPOJXBͱ wίϯςφΤϯδϯ w࠷େͷಛɺ3VCZ NSVCZ Ͱίϯςφͷઃఆ͕ࣗ༝ࣗࡏʹॻ͚Δ͜ͱ w%PDLFSΛଧ͠ͳ͍͚Ͳɺ%PDLFSͰϠϦͮΒͦ͏ͳ͜ͱͰ͖Δ͔ʁ
ίϯςφΤϯδϯͱ wίϯςφΈ߹Θͤɻ w۩ମతʹɺ-JOVYOBNFTQBDFɺDHSPVQɺ-JOVYDBQBCJMJUJFTɺ DISPPUɺCJOENPVOUɺͳΜ͔ΛΈ߹ΘͤͯɺϓϩηεʢͷҰ܈ʣΛ ͔͋ͨԾڥͷΑ͏ʹݟͤͯ׆༻͢Δٕज़ w)BDPOJXBɺ͜ͷؔ࿈ٕज़Λૢ࡞͢ΔNSVCZHFNΛͻͨ͢Β࡞Γ·͘Γɺ Έ߹ΘͤͯɺίϯςφڥΛ࣮ݱ͍ͯ͠·͢ɻ
໊લͷ༝དྷ w·Μ·ʮശఉʯͳΜ͚ͩͲɺ͘ͳΓ·ͯ͠ wͱͱɺຊͰҰ൪༗໊ͳKBJMͰ͋Δʮ"CBTIJSJʯͱ͍͏໊લΛ͚ͭΑ͏ͱ wࢥ͚ͬͨͲɺઑΓ͔͗͢ͳͬͯࢥ͍͠
໊લͷ w࣍ʹࢥ͍͍ͭͨͷ͕ɺԼͰΠϯσΟʔόϯυͱͯ͠׆༂͍ͯͨ͠ʢࠓͨ ·ʹϥΠϒΛ͍ͯ͠Δʣʮശఉͷָࣨʯͱ͍͏ɺۂ͕جຊతʹมഥࢠͷɺι ϑτϚγʔϯͱϖΠϰϝϯτΛͯ͠ແཧͰׂͬͨΑ͏ͳόϯυ͕͋Γɺ wʢҎԼ͙Β͍ɺθϩͷԼΠϯσΟʔζϩοΫͷΛ͢Δʣ
ͱ͜ΖͰɺʹɺϓϩάϥϚͱͯ͠ເ͕͋ͬͨ wҰͰ͍͍͔Βɺࣗͷ͖ͳόϯυ͋Δ͍ۂͷ໊લͷ͍ͨ w044ϓϩμΫτΛ wੈʹग़͔ͨͬͨ͠ wग़͔ͨͬͨ͠Μͩʂ
ͬͨ
ࠓͷ·ͱΊເ͏
ؓ ٳ GSPNIUUQTIPXDBTFDJUZGVLVPLBMHKQBMMSJHIUTSFTFSWFE
)BDPOJXBΛͰࢼ͢
͜ͷઌɺ3VCZ,BJHJ͚ͷࢿྉΛ ྲྀ༻͍ͤͯͩ͘͞͞ɻɻɻɻɻɻ
͔ͩΒϑΥϯτมΘΓ·͢ʂʂ̍
Πϯετʔϧ w QBDLBHFDMPVE͔Βམͱͤ·͢ɻ؆୯Ͱ͢Ͷʂ IUUQTQBDLBHFDMPVEJPVE[VSBIBDPOJXBJOTUBMM # example for deb-ish distro curl
-s https://packagecloud.io/install/repositories/udzura/ haconiwa/script.deb.sh | sudo bash apt-get update apt-get install haconiwa apt-get install lxc # It’s required to bootstrap fs
࠷ॳʹઃఆϑΝΠϧΛੜ͠·͢ $ haconiwa new test.haco assign new haconiwa name =
haconiwa-0491a405 assign rootfs location = /var/lib/haconiwa/0491a405 create test.haco
͜ͷઃఆϑΝΠϧ࣮ࡍͨͩͷ3VCZεΫϦϓτͰ͢
lIBDPOJXBDSFBUFzͰϑΝΠϧγεςϜΛ࡞Γ·͢ w ੜ͞Εͨ··ͩͱBMQJOFMJOVY͕MYDDSFBUFͰ࡞ΒΕ·͢
TTIEΛΠϯετʔϧͯ͠ةݥͳઃఆΛ͠·͢ Haconiwa.define do |config| #... config.provision do |p| p.run_shell <<-SHELL
apk add --update openssh sed -i 's/#Port.*/Port 2222/' /etc/ssh/sshd_config # NOTE: αϯϓϧ͔ͩΒͶʂ sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config echo root:r00t | chpasswd ssh-keygen -t rsa -P "" -f /etc/ssh/ssh_host_rsa_key SHELL end #... end
lIBDPOJXBQSPWJTJPOzͰ͏ҰϓϩϏδϣχϯά
lJOJUzίϚϯυΛTTIEʹม͑ͯɺσʔϞϯԽ͠·͢ Haconiwa.define do |config| # The container name and container's
hostname: config.name = "haconiwa-0491a405" # The first process when invoking haconiwa run: # config.init_command = "/bin/bash" # To: config.init_command = %w(/usr/sbin/sshd -D) # And uncomment: config.daemonize! #... end $ haconiwa run test.haco
None
ຬͨ͠ΒɺlIBDPOJXBLJMMzͰ͚ͬͭ·͢ $ haconiwa kill test.haco Kill success
Ҏ্ʂ
ׂͱͪΌΜͱίϯςφͰ͖ͯͳ͍ʁ
͍͚Δͬͯʂ
ྫ͑͜͏͍͏࣌ʢ༧ఆʣ wϗετͱ৭ʑͳOBNFTQBDFΛڞ༗ͨ͠ڥΛ࡞Γ͍ͨ wੜ࣌ʹɺಈతʹDHSPVQͷύϥϝʔλΛม͍͑ͨ wͳΜ͔ෳࡶͳCJOENPVOUΛܦͯSPPUGTΛ࡞Γ͍ͨ w%̋DLFSΑΓܰΊʹϚΠΫϩαʔϏοε͍ͨ͠ͳʙʙʙ͋ʙʙʙʙ wͳͲͳͲ wকདྷతʹɺΦʔέετϨʔγϣϯαϙʔτ͍ͨ͠ɺͰ͖Δͱ͍͍Ͱ͢Ͷ
ͪͳΈʹ wFUDE qBOOFMͱΈ߹ΘͤͯΦʔόϨΠωοτϫʔΫͳΜ͔ wOFUOTࣗ࡞͍ͯͩ͘͠͞ʢͦΕΛIBDPOJXB࠶ར༻Ͱ͖·͢ʣ
˞ࠓճಈ͖·ͤΜ
৬ਓͷ࡞ΔOFUOT͔Β QJOHΛଧͭͱɺ ύέοτʹஆ͔Έ͕͋Δ
ӕͰ͍ۙ͢͏ͪʹ )BDPOJXBʹΈࠐΈ·͢ ͳΜ͔ܰͯ͘ૄ݁߹ͳΓํΛߟ͍͑ͨͰ͢Ͷ
·ͱΊ·͢
ࠓͷ·ͱΊ w)BDPOJXBԼܥมഥࢠίϯςφͰ͢ w)BDPOJXBͷৄࡉΛΓ͍ͨํɺͥͻ࠶དྷिͷ3VCZ,BJHJʂ wژͰѲखʂ
None
)BDPOJXBJTVOEFSEFWFMPQNFOU Ͱ͕͢ɺ༡ΜͰΈͯͶ