Docker 123
-
Upload
weichih-ting -
Category
Software
-
view
225 -
download
1
Transcript of Docker 123
Docker 各平台⽀支援• Linux
• ⽀支援度⾼高, 可以原⽣生⽅方式執⾏行
• Windows
• 需透過boot2docker (Virtual box+預設VM) 但仍有許多問題
• Mac
• 需透過boot2docker (Virtual box+預設VM) 已經蠻穩定
原⽣生
boot2docker
https://docs.docker.com/installation/mac/
A simple walkthrough on Mac>boot2docker init
>boot2docker start
提⽰示你要export⼀一些變數可⼿手動輸⼊入或是⽤用
>eval "$(boot2docker shellinit)" 取代
>docker run <image代號>
類似git pull + run image
可以是本地的image代號或是遠端docker hub代號
以上只有Mac需要
Linux直接從這開始
A simple walkthrough on Mac>docker ps
查看⺫⽬目前有哪些container正在跑
>docker images
查看本地有哪些images,含下載
>docker kill <container>
不要問我什麼是kill
重要觀念• ⼀一台實體機器可以跑很多
container, 跟VM⼀一樣, 但是以原⽣生⽅方式跑會⽐比較快(on Linux)
• docker必須要有⼀一個主要process確保container在執⾏行
• hello-world執⾏行後⾺馬上停⽌止, docker ps沒東⻄西?!
>docker run -d -p 80:80 shooding/web_server /root/myscript.sh-p 可以對應多個port, 不要擔⼼心
A simple walkthrough on Mac>docker attach <container>
bash登⼊入⼀一個正在跑的container
>docker commit -m ‘修正錯誤’ <container> shooding/web_server
類似git commit操作
>docker push shooding/web_server
類似git push操作
Docker Hub
• 提供類似GitHub的託管服務
• 1個private專案免費, 第⼆二個以上收費
• Open source專案⼀一律免費
• 如果不想付錢, Docker registry可以⾃自⼰己架設私有倉庫
開發環境• 本地端⼀一台筆電可執⾏行多個container
• 建⽴立load balancing tier、app tier、cache tier、DB tier、cluster of processing farm模擬雲端的Best practice
• commit新功能、Hot fix
測試環境• 本地端⼀一台筆電可執⾏行多個
container
• 半⿊黑箱測試, 不同tier分開測試.
• 從DockerHub拉取指定版本進⾏行測試, 無須進⾏行apt-get等安裝套件步驟.
• 可Nightly build整套後端進⾏行測試, 逐漸達成軟體持續整合
主流雲端全⾯面擁抱Docker
>docker-machine create -d <any cloud> my-container
docker-machine是新的「延伸⼯工具」可快速佈署⾄至雲端
• Amazon Web Services • Digital Ocean • Google Compute Engine • IBM Softlayer • Microsoft Azure • Microsoft Hyper-V • Openstack • Rackspace • Oracle VirtualBox • VMware Fusion • VMware vCloud Air • VMware vSphere