SlideShare a Scribd company logo
1 of 59
Download to read offline
⽤ Docker 建置 END OF LIFE 的
RUBY 開發環境
Jimmy 居米, 2022.07.30
老專案續命的經驗談
關於居米
COSCUP 2021 - 講者
5xRuby.com - 軟體⼯程師


河洛⼯作室 - 遊戲企劃


傳奇網路遊戲 - 遊戲企劃
APPLE 製造的災難
APPLE M1 Chip
ARM 架構
處理器指令集
Library 無法編譯
聊聊開發環境的惡夢
換電腦的惡夢,⼯程師懂的
我的電腦可以動,你的・・・
有個好東⻄叫 Docker
什麼是?
https://docs.docker.com/get-started/overview/
Docker Image
Docker
f
ile
Docker
f
ile Build 出 Image
光碟片的概念
這張光碟片有點厲害!
Docker Container
執⾏光碟片的電腦
現在我們有⼀台電腦的能⼒
開發需要同時啟動多個服務
Docker Compose
多台電腦⼀起玩
Docker 官⽅ Rails docker-compose.yml 範例檔
多台電腦怎麼溝通
Docker Networking
預設是 Bridge
Photo: https://wordpress.org/openverse/image/d85175eb-4af3-4cf3-bd3d-777210faf30f
Docker 懶⼈包告⼀段落
老專案的問題
Ruby 版本 2.3.7
我只是想寫程式啊!!?
Docker Hub 開源的光碟片
別忘了光碟片的特性。唯讀
打網咖的電腦,時間到會被還原
Ruby Gems 在 Container


啟動需要重裝的問題
Docker Volume
掛載硬碟到
Container 上
如何訪問 Web Service?
Expose Port
應⽤程式需要資料庫
讓 Rails 和 DB 連接
Rails 專案中 con
f
ig/database.yml
如何匯入資料庫檔案?
把檔案傳入容器內的⽅法
docker cp
Rails 容器化後怎麼 Debug?
埋斷點不會動?
• Docker 專案⽬錄


• Rails APP 1 repo


• Rails APP 2 repo


• Rails APP 3 repo


• development_docker
f
iles/ruby_version/Docker
f
ile


• docker-compose.yml
容器化後的專案架構
• Docker-compose up 啟動全部服務


• 改 code


• 進入容器內執⾏相關 rake task ex: rails console, rails db:migrate, rspec…


• 需要時重啟 container


• 需要埋斷點 ex:binding.break, byebug 就 attach 到某個容器中進⾏除錯
容器化後的⼯作流程
⼯作流實際 Demo
Q & A 時間
Email:jimmy2822@gmail.com

More Related Content

Similar to 使用 Docker 建置 END OF LIFE 的 Ruby 開發環境

Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Bo-Yi Wu
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養Philip Zheng
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-dockerBruce Huang
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探仲昀 王
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 dockerRay Lin
 
docker intro
docker introdocker intro
docker introkoji lin
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器升煌 黃
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture lusecheng
 
From docker hub to bluemix catalog
From docker hub to bluemix catalogFrom docker hub to bluemix catalog
From docker hub to bluemix catalogJoseph Chang
 
Docker open stack
Docker open stackDocker open stack
Docker open stackGuangya Liu
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用Philip Zheng
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台Bo-Yi Wu
 
2014.11.10 Koding使用教學
2014.11.10 Koding使用教學2014.11.10 Koding使用教學
2014.11.10 Koding使用教學建德 林
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)National Cheng Kung University
 
Docker home ted
Docker home tedDocker home ted
Docker home tedLayne Peng
 

Similar to 使用 Docker 建置 END OF LIFE 的 Ruby 開發環境 (20)

Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
cec-hello-docker
cec-hello-dockercec-hello-docker
cec-hello-docker
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探
 
Weic2015 docker
Weic2015 dockerWeic2015 docker
Weic2015 docker
 
docker intro
docker introdocker intro
docker intro
 
Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器Docker - 30秒生出100台伺服器
Docker - 30秒生出100台伺服器
 
Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture Coscup2011: porting android to brand-new cpu architecture
Coscup2011: porting android to brand-new cpu architecture
 
Linking error
Linking errorLinking error
Linking error
 
From docker hub to bluemix catalog
From docker hub to bluemix catalogFrom docker hub to bluemix catalog
From docker hub to bluemix catalog
 
Docker Build
Docker BuildDocker Build
Docker Build
 
Docker open stack
Docker open stackDocker open stack
Docker open stack
 
Taiwanese Experience in IT
Taiwanese Experience in ITTaiwanese Experience in IT
Taiwanese Experience in IT
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
2014.11.10 Koding使用教學
2014.11.10 Koding使用教學2014.11.10 Koding使用教學
2014.11.10 Koding使用教學
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
 
Docker實務
Docker實務Docker實務
Docker實務
 
Docker home ted
Docker home tedDocker home ted
Docker home ted
 

使用 Docker 建置 END OF LIFE 的 Ruby 開發環境