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
Digitization部 紹介資料
sansan33
PRO
2
7.7k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
260
Model Studio CLI × Token Plan
maigo999
0
200
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
300
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
AI開発に用いられるHPC技術について
gpuunite_official
0
200
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
200
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
430
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
130
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.4k
:syncing_time:
sksat
2
230
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
300
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
350
Exploring anti-patterns in Rails
aemeredith
3
470
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A Soul's Torment
seathinner
6
3.5k
Fireside Chat
paigeccino
42
4k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
What's in a price? How to price your products and services
michaelherold
247
13k
Building Adaptive Systems
keathley
44
3.2k
Odyssey Design
rkendrick25
PRO
2
770
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