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
Swift in Docker
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Johnlin
February 07, 2017
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift in Docker
Johnlin
February 07, 2017
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
330
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
420
Ruby 型別檢查工具簡介
johnlinvc
0
630
Swift Actor 實作探索
johnlinvc
0
210
用 mruby 來寫跨平台工具
johnlinvc
0
130
Actor model 簡介
johnlinvc
0
240
一起玩 Helm 3
johnlinvc
1
160
為什麼 App 卡卡的
johnlinvc
2
1.3k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
280
Other Decks in Programming
See All in Programming
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
160
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
自分的「カンファレンスの楽しみ方」
syumai
0
180
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
270
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
120
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
200
Building an Out-of-Order CPU
latte72
0
620
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
660
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
100
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
130
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Code Review Best Practice
trishagee
74
20k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
We Have a Design System, Now What?
morganepeng
55
8.3k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Speed Design
sergeychernyshev
33
2.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Transcript
Swift in Docker John Lin (@johnlinvc)
ॄኄੋDocker? • 㟬తఔࣜแҰݸ༰ث(container)ɼཁ༗ Docker తํबՄҎ䋯ɻ • ༰ثཫ໘ෆ༗ఔࣜɼՄҎ์ఔࣜӡߦॴधత૬᮫ ࢿྉɼവࣜݿɼܥ౷݅ɻ • ༻ိ։ᚙɼᚙఔࣜɼํศɻ
Docker VM ༗ॄኄෆҰᒬʁ • Docker ڞ༻࡞ۀܥ౷ɻ • Docker ൺֱলࢿݯɻ
҆ Docker • લࢧԉ Mac, Windows, Linux • https://www.docker.com/products/docker#/mac
Մ ҎԼࡌ҆䈕ɻ
Docker ө૾䈕(image) • ༰ثతجૅɼ㑌Ұݸ༰ثඞਢ༗Ұݸө૾䈕ɼө૾ 䈕ཫ༗༰ث㚎֘༗త䈕Ҋɻ • ө૾䈕 => UILabel (Class),
༰ث => myLabel (instance) • ՄҎଟݸ༰ثڞ༻Ұݸө૾䈕ɻ
docker run • docker run <ө૾䈕໊> <ཁࣥߦతఔࣜ> • ။༻ө૾䈕త㚎༰㗞ੜҰݸ༰ثɼฒࡏ༰ث㚎ࣥߦ ఔࣜ
Swift in Docker • https://github.com/swiftdocker/docker-swift • docker run --cap-add sys_ptrace
-it --rm swift swift ՄҎࣥߦ REPL • Swift REPL Ҽҝ༻౸ ptraceɼॴҎधཁֹ֎తᒟݶ
Live demo
ݐஔ&ᚙ Package • ՄҎ༻ docker ိݐஔ݅ • ࠶ฤᩄత݅์ࡏ docker ཫ໘ᚙɻ
ݐஔ Package • docker run -v `pwd`/:/docker-swift -w /docker- swift
--rm swift swift package init 㗞ੜ Package ૬᮫䈕Ҋ • echo 'print("hello docker")' >> Sources/ main.swift ࡏࣥߦ䈕࠷ޙՃ্Ұݸprint hello docker
ݐஔ Package • docker run -v `pwd`/:/docker-swift -w /docker- swift
--rm swift swift build ݐஔ Package • docker run -v `pwd`/:/docker-swift -w /docker- swift --rm swift .build/debug/docker-swift ࣥߦhello docker
Live demo
Kitura • IBM ݚᚙత Swift web framework • Opensource •
ՄҎ༻ Docker Swift ိ䋯
Update docker file FROM ibmcom/swift-ubuntu:latest EXPOSE 8080 RUN mkdir /root/Kitura-Starter
ADD Sources /root/Kitura-Starter ADD Package.swift /root/Kitura-Starter ADD LICENSE /root/Kitura-Starter ADD .swift-version /root/Kitura-Starter RUN cd /root/Kitura-Starter && swift build USER root CMD [ "sh", "-c", "cd /root/Kitura-Starter && .build/debug/Kitura-Starter" ]
Update docker file FROM swift:3.0.2 EXPOSE 8080 RUN mkdir /root/Kitura-Starter
ADD Sources /root/Kitura-Starter ADD Package.swift /root/Kitura-Starter ADD LICENSE /root/Kitura-Starter ADD .swift-version /root/Kitura-Starter RUN apt update RUN apt-get install -y libssl-dev WORKDIR /root/Kitura-Starter RUN swift package update RUN swift build USER root CMD [ "sh", "-c", "cd /root/Kitura-Starter && .build/debug/Kitura-Starter" ]
Live demo
݁ • ՄҎ༻ docker ိ։ᚙ Linux త Swift ఔࣜ •
ՄҎ༻ docker ိࣥߦ Swift
Q&A