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
Johnlin
February 07, 2017
Programming
100
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
300
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
390
Ruby 型別檢查工具簡介
johnlinvc
0
620
Swift Actor 實作探索
johnlinvc
0
200
用 mruby 來寫跨平台工具
johnlinvc
0
120
Actor model 簡介
johnlinvc
0
240
一起玩 Helm 3
johnlinvc
1
160
為什麼 App 卡卡的
johnlinvc
2
1.3k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
260
Other Decks in Programming
See All in Programming
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
390
act2-costs.pdf
sumedhbala
0
110
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
140
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
140
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
共通化で考えるべきは、実装より公開する型だった
codeegg
0
250
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
自作OSでスライド発表する
uyuki234
1
3.8k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
380
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Test your architecture with Archunit
thirion
1
2.3k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Leo the Paperboy
mayatellez
8
1.9k
First, design no harm
axbom
PRO
2
1.2k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
RailsConf 2023
tenderlove
30
1.5k
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