最近docker可以說火得不要不要的,主要是源于docker對環境一緻性的完美解決,極大提升了開發和運維的效率,很好地诠釋了dev-ops的含義。通過以下幾個連結,你可以對docker有更深入的了解:
https://www.docker.com/
https://en.wikipedia.org/wiki/docker_(software)
http://www.infoq.com/cn/dockers/
本着追随潮流的心态,讓我們也嘗試着去折騰一把!
本篇主要介紹如何将app代碼與docker進行整合并build為鏡像,最終完成部署、提供服務。
使用的的代碼托管工具為阿裡雲code(code.aliyun.com);
使用的容器hub為阿裡雲開發者平台(dev.aliyun.com);
最終的産品鏡像将部署到阿裡雲容器服務的ecs上(https://cs.console.aliyun.com/#/overview/all)
首先,我們本地clone項目代碼庫(此處需要您的阿裡雲code使用者名和密碼)
$ git clone https://code.aliyun.com/zju_lb/java-with-docker/tree/master
username for 'https://code.aliyun.com': zju_lb
password for 'https://[email protected]':
編譯過後,進行簡單的測試工作:
$ mvn test
根據新完成的dockerfile,本地進鏡像編譯:
$ docker run –p dockermachineip:9999:8080 –it java-with-docker
容器啟動後就可以通路dockermachineip:9999/boot-api,看到我們java web服務的簡單頁面:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcukjM1UzNlNWZ2UDMiRjYhN2Y3YjY3MWYjFTY3QTZ2UmZ4UmMlZ2NmZ2LcNXZslmZxl3Lc12bj5ycj5Wd5lGbh5ycz92Lc9CX6MHc0RHaiojIsJye.png)
一切ok,我們将該鏡像push到鏡像倉庫中:
$ sudo docker login [email protected] registry.aliyuncs.com
$ sudo docker tag java-with-docker registry.aliyuncs.com/crp/java-with-docker
$ sudo docker push registry.aliyuncs.com/crp/java-with-docker