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.2k
ファイルシステムの歴史: ジャーナリング編
naota
2
1.1k
Btrfsのころしかた(だったもの)
naota
0
1.1k
Btrfsの構造
naota
5
2.9k
Other Decks in Technology
See All in Technology
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
150
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
150
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
200
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
0
110
SREでアラート疲れを 解決しよう!
kairim0
1
200
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
190
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
150
Deep Data Security 機能解説
oracle4engineer
PRO
2
710
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
300
Incremental HTTP
kazuho
5
2.1k
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Being A Developer After 40
akosma
91
590k
Why Our Code Smells
bkeepers
PRO
340
58k
Practical Orchestrator
shlominoach
192
12k
Code Reviewing Like a Champion
maltzj
528
40k
Thoughts on Productivity
jonyablonski
76
5.4k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
WCS-LA-2024
lcolladotor
0
840
Six Lessons from altMBA
skipperchong
29
4.5k
The browser strikes back
jonoalderson
0
1.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
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