Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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.3k
ファイルシステムの歴史: ジャーナリング編
naota
2
1.1k
Btrfsのころしかた(だったもの)
naota
0
1.2k
Btrfsの構造
naota
5
2.9k
Other Decks in Technology
See All in Technology
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
820
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
200
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2.2k
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
320
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
540
eBPF 簡介 2026 版
shunghsiyu
0
140
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
190
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
130
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
110
GitHub、使う?使わない?
happysamurai294
0
140
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
130
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
170
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
650
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
440
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
340
How to Talk to Developers About Accessibility
jct
2
600
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Fireside Chat
paigeccino
43
4.1k
We Are The Robots
honzajavorek
0
420
Test your architecture with Archunit
thirion
2
2.5k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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