Spring Cloud搭建微服務架構----Docker

前言

若是服務比較多,有效的部署多個服務實例將是一個很大的挑戰,咱們使用Docker容器化咱們的服務。java

Docker安裝

個人開發環境是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

  1. 查看容器的root用戶密碼

docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1docker

  1. 查看容器日誌

docker logs -f <容器名orID>centos

  1. 查看正在運行的容器

docker ps
docker ps -a爲查看全部的容器,包括已經中止的。springboot

  1. 刪除容器

刪除全部容器:docker rm $(docker ps -a -q) 刪除單個容器:docker rm <容器名orID>oracle

  1. 中止,啓動,殺死一個容器

docker stop <容器名orID> docker start <容器名orID> docker kill <容器名orID>

  1. 查看全部鏡像

docker images

  1. 刪除全部鏡像

docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)

  1. 運行一個容器

docker run -d -p 80:80 --name webserver nginx

  1. 拉取鏡像

docker pull <鏡像名:tag>

  1. 構建鏡像

docker build -t <鏡像名> <Dockerfile路徑>

  1. 後臺運行(-d),並暴漏端口(-p)

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

Dockerfile

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 images查看構建成功的鏡像;
  • 經過 docker run -p 8088:8080 -t [鏡像名稱] 啓動容器;
  • 經過 docker ps 查看容器運行狀態;
  • 經過 docker stop [容器名稱] 中止容器;
  • 經過docker rmi -f <imageid> 強制刪除鏡像;

Docker鏡像中的服務指向的註冊中心地址配置:eureka.client.serviceUrl.defaultZone=http://10.168.12.25:5000/eureka/

代碼示例

https://github.com/zhangcj/easymall/tree/master/springbootdemo/springbootdemo-docker

至此,咱們能夠經過Docker容器化咱們的服務代碼了。

相關文章
相關標籤/搜索