我为什么用docker-compose来打包开发环境
BUILD, SHIP, RUN
Docker is the world’s leading software containerization platform
Docker的出現,讓虛擬技術更上一個臺階。更有Docker Hub作為docker images的市場載體,讓全世界分享你的成果。
建議使用Docker for Mac(10.10.3) 或 Docker for Windows(10) , 拋棄舊的Docker Toolbox
我對docker的應用有:
使用docker-compose封裝公司后端組開發所需要的環境。
使用docker-compose封裝我的服務器需要運行的各個應用。
下面分別介紹用處,和優勢
1.在團隊開發中,會遇到這樣一個問題:開發機器統一會用到一些必備的應用,例如mongodb、mencached、redis等等,那么如何維護項目所需的預裝軟件?傳統的方式是紀錄成文檔,然后有新人來的話就給他文檔,然后一個一個安裝。docker的出現,給應用帶來了福音,下面看如何用docker-compose解決上訴問題。
解決方案:通過一個文件(docker-compose.yml)描述組內開發所需要的應用,然后上傳git代碼管理,有更新直接同步,有新同事來了或者一個新的機器要做成開發機,兩步走:
* 安裝docker和docker-compose
* 獲取描述文件,執行命令
事例:
docker-compose.yml
services: ?mongodb: ?
? ?image: tutum/mongodb ?
? ?ports:- "27017:27017"- "28017:28017" ?
? ?environment:- AUTH=no ?
? ?container_name: mongodb ?
? ?restart: always ?memcached: ?
? ?image: memcached ?
? ?ports:- "11211:11211" ?
? ?container_name: memcached
? ?restart: always
效果:只要運行docker-compose up,就會自動安裝mongodb和memcached,并且會在機器重啟的時候自啟動。
2.再舉一個docker-compose的例子,就是我自己的服務器的部署,不需要害怕還服務器以后所有的東西都要重新安裝,只需要先安裝docker-compose,在運行命令即可!
docker-compose.yml
services: ?homepage: ?
? ?image: kelvv/nvmhome-docker:v1.1.5 ?
? ?ports:- "0.0.0.0:3000:22"- "0.0.0.0:81:3000"- "0.0.0.0:3101:3100" ?
? ?environment:- NODE_ENV=staging- projecturl=https://github.com/kelvv/my-site.git- autoupdate=true ?
? ?container_name: kelvv-homepage
? ?restart: always ?shadowsock: ? ?
? ?image: kelvv/shadowsock-docker ?
? ?ports:- "0.0.0.0:7878:431" ?
? ?environment:- password=docker ? ?
? ?container_name: kelvv-shadowsock ?
? ?restart: always ?ppt: ? ?
? ?image: kelvv/nvmhome-docker:v1.1.5 ?
? ?ports:- "0.0.0.0:82:3000"- "0.0.0.0:3102:3100" ?
? ?environment:- projecturl=https://github.com/kelvv/my-ppt.git- autoupdate=true ?
? ?container_name: kelvv-ppt ?
? ?restart: always
效果:安裝完以后,在服務器會安裝3個應用
個人主頁
shadowsock 科學上網
個人ppt源
總結 :盡早使用docker,有好處
相關文章:
docker4dotnet #1 – 前世今生 & 世界你好
docker4dotnet #2 容器化主機
docker – 你應該知道的10件事
ASP.NET Core Docker部署
原文地址:http://www.1234.sh/post/use-json-field-type-in-net-core
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的我为什么用docker-compose来打包开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core扩展IServiceC
- 下一篇: docker4dotnet #3 .ne