若是服務比較多,有效的部署多個服務實例將是一個很大的挑戰,咱們使用Docker容器化咱們的服務。java
個人開發環境是Mac,參照官方Mac Docker安裝方案。nginx
安裝成功以後經過Docker名稱查看docker是否安裝成功:git
$ docker --version Docker version 17.03.0-ce, build 60ccb22
構建鏡像測試:github
docker run -d -p 80:80 --name webserver nginx
輸入:http://localhost/web
至此Docker安裝成功,如下命令參照:spring
docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1docker
docker logs -f <容器名orID>centos
docker ps
docker ps -a爲查看全部的容器,包括已經中止的。springboot
刪除全部容器:docker rm $(docker ps -a -q) 刪除單個容器:docker rm <容器名orID>oracle
docker stop <容器名orID> docker start <容器名orID> docker kill <容器名orID>
docker images
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)
docker run -d -p 80:80 --name webserver nginx
docker pull <鏡像名:tag>
docker build -t <鏡像名> <Dockerfile路徑>
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD springbootdemo-1.0.0.jar app.jar ENV JAVA_OPTS="" ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
在執行 mvn package docker:build 命令時遇到了一個錯誤,解決方案時修改了pom文件中的 docker-maven-plugin 版本爲:0.4.11 成功構建。
Docker鏡像中的服務指向的註冊中心地址配置:eureka.client.serviceUrl.defaultZone=http://10.168.12.25:5000/eureka/
https://github.com/zhangcj/easymall/tree/master/springbootdemo/springbootdemo-docker
至此,咱們能夠經過Docker容器化咱們的服務代碼了。