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
DockerでGentooのテスト
Search
naota
July 05, 2014
Technology
1.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DockerでGentooのテスト
naota
July 05, 2014
More Decks by naota
See All by naota
btrfs領域管理一代記
naota
2
1.2k
ファイルシステムの歴史: ジャーナリング編
naota
2
1.1k
Btrfsのころしかた(だったもの)
naota
0
1.1k
Btrfsの構造
naota
5
2.9k
Other Decks in Technology
See All in Technology
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
6
4.1k
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
1k
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
310
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
420
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
5
830
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
380
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
360
Escolhendo LLMs na Prática: Lições Reais em Busca Agêntica no Mercado Livre —TDC 2026 Floripa
jpbonson
0
110
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
590
AI エージェント時代のデジタルアイデンティティ
fujie
2
1.3k
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
750
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
700
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
240
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Making Projects Easy
brettharned
120
6.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
HDC tutorial
michielstock
2
760
It's Worth the Effort
3n
188
29k
Facilitating Awesome Meetings
lara
57
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Statistics for Hackers
jakevdp
799
230k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Transcript
Docker Ͱςετ͢Δ ੨ాେ 2014-07-05 ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 1 /
16
ebuild ॻ͍ͯ·͔͢ ebuild ॻ͘ͷָͰͱ͍͍ͯͰ͢Ͷ ͪΌΜͱςετͯ͠·͔͢ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 2
/ 16
ςετͷํ๏ repoman build ͯ͠ΈΔ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 3 /
16
repoman repoman full ͢Δͱ ebuild ͷจ໘ΛνΣ οΫͯ͘͠ΕΔ ͜ͷ package
RDEPEND ʹೖͬͯΔ͚Ͳɺ΄Μͱʹ? DEPEND ͩ ͚Ͱ͍͍Μ͡Όͳ͍ͷɻͱ͔ݴͬͯ͘ΕΔ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 4 / 16
build ͯ͠ΈΔ build ͯ͠ΈΔͱ͍Ζ͍Ζͱ Portage ͕Ϗϧυ࣌νΣ οΫΛͯ͘͠ΕΔ ͚ΕͲ ੨ాେ Docker
Ͱςετ͢Δ 2014-07-05 5 / 16
ઃఆ͕ඞཁ FEATURES=test ύοέʔδͷςετϓϩάϥϜΛ࣮ߦ PORTAGEELOGCLASSES="${PORTAGEELOGCLASSES} qa" ༷ʑͳ QA ͷϩάग़ྗ CFLAGS,CXXFLAGS,FFLAGS,FCFLAGS ͷ
શͯ ʹ "-frecord-gcc-switches" ΛೖΕΔ gcc ͷ CFLAGS ΛόΠφϦʹه ͪΌΜͱ CFLAGS ͕ө͞Ε͍ͯΔ͔Ͳ͏͔ΛνΣ οΫͯ͘͠ΕΔ ld.gold Λ͏ underlinking Λ;͙ͤ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 6 / 16
QA ͷྫ SONAME missing .so ϑΝΠϧʹ SONAME ͱ͍͏͕ઃఆ͞Ε͍ͯͳ͍ ϦϯΧ͕ϦϯΫΛߦͳ͏࣌ʹ༻͍Δ (͋ͬͨํ͕Α͍)
world writable setuid binary ͍ RUNPATHɾEXECSTACK RUNPATH: shared object ͷ lookup ઌ: /tmp ͱ͔ೖͬͯͳ͍? EXECSTACK: ࣮ߦՄೳͳελοΫ: มͳίʔυೖΕΒΕͳ͍? ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 7 / 16
͜Ε͚ͩͰ͍͍ͷ? ຊʹ ͦΕͰ Ͳ͜Ͱ ϏϧυͰ͖ΔͷͩΖ͏͔? DEPEND ʹೖͬͯͳ͍ͷ͕͋Δ͔? ͨ·ͨ·ࣗͷڥʹೖ͍ͬͯͨʜͱ͍͏Φν Ͳ͏ͬͯςετͨ͠Β͍͍? stage3
ͷ·ͬ͞Βͳڥ͔Β ΊΜͲ͘ͳ͍ɾ ɾ ɾ? ڥ͍͍ͪͪ࡞Δͷ? ຖճ࠷ॳ͔ΒશͯίϯύΠϧ͢Δͷ? ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 8 / 16
Docker Λ͓͏ Docker ͱͳʹ͔ -> ͍·͞ΒͳͷͰলུ ίϯςφΛͬͨԾڥ kernel ڞ௨ͰϦιʔε੍ݶͰ͖Δ ϓϩηεۭؒͱ͔ผ
chroot ͷͭΑ͍ͭ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 9 / 16
Docker Ͱ Gentoo ڥ git clone https://github.com/naota/dockergentoo export MAINTAINER="Naohiro Aota
<
[email protected]
>" ./bin/update.sh Docker ͷ stage3 ڥͱ Portage πϦʔڥ͕Ͱ͖ΔΑ! ಉ͡Α͏ʹ distfiles ڥ࡞Δ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 10 / 16
ུ֓ਤ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 11 / 16
Docker Ͱ emerge ͢Δ ./bin/build-package.sh <flag> <package> ./bin/build-package.sh ’app-editors/emacs +X’
’app-editors/emacs’ ./bin/build-package.sh ” ’pficommon’ (ࣗͷڥʹ͋Δ) ࠷৽ͷ stage3 ͱ Portage πϦʔΛͬͯɺUSE ϑϥάΛઃఆͯ͠ɺemerge ͕Δ ίϯςφΠϝʔδࣗಈফڈʹ͍ͯ͠Δ ࣗͰফڈ͢ΔखؒΛল͘ emerge ͕ޭͨ͠ -> ͓ΊͰͱ͏͍͟͝·͢ ಉ࣌ʹόΠφϦ͕࡞ΒΕ͍ͯΔͷͰɺޙͷ emerge ޮతʹͳΔ emerge ͕ࣦഊͨ͠ -> ݪҼΛௐ͍ͨΑͶ results/ͷԼʹ/var/tmp/portage Λ tar.xz ͨ͠ͷ͕ೖͬͯΔ unpack ͖ͯ͠ͳ͚ͩݪҼΛ୳ΕΔ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 12 / 16
ࣗͷ ebuild Λςετ͢Δ ./bin/test-ebuild.sh ’gwaei +hunspell’ gwaei-3.6.2.ebuild ίϯςφͷதͰࢦఆͨ͠ ebuild ͚ͩΛ
overlay ʹ͍Εͯ emerge ͯ͠ ͘ΕΔ ࣗͰॻ͍ͨ ebuild Λςετ͢Δͷʹ࠷ద ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 13 / 16
ͼΈΐ͏ʹΓ͍ͨ͜ͱ͕͋Δ USE ϑϥάΛཱͯΔ͚ͩͰΓͳ͍ ./bin/shell.sh gwaei-3.6.2.ebuild overlay Λ࡞ͬͯίϯςφͷதͰ shell ͕ىಈ͞ΕΔ emerge
ͷલʹ͍ͨ͜͠ͱΛ͍Ζ͍Ζͯ͠ /build/dockerbuild.sh <flag> <package> ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 14 / 16
কདྷతʹ portage πϦʔͷதͷͷΛ͔ͨͬͺ͔͠ΒϏϧυ ͳΜ͔͏ͬͯΔਓ͕͍ΔͬΆ͍? Python ͔ͳΜ͔Ͱॻ͖͢ ebuild Λ upload ͯ͠ςετͯ͘͠ΕΔ
Web αʔϏε distfiles ΛෳϚγϯͰڞ༗ ϏϧυΩϡʔΛ࡞ͬͯۀͱ͔ ੨ాେ Docker Ͱςετ͢Δ 2014-07-05 15 / 16
·ͱΊ ΫϦʔϯͳڥͰϏϧυͰ͖Δ dockergentoo Λ࡞ͬͨΑ https://github.com/naota/dockergentoo ॻ͍ͨ ebuild ΛΫϦʔϯʹςετͰ͖ΔΑ όΠφϦΛ࡞͓͍ͬͯͯ͘ΕΔͷͰԿϏϧυ͠ͳ͓͞ͳ͍Α ੨ాେ
Docker Ͱςετ͢Δ 2014-07-05 16 / 16