您的位置:首页 > 运维架构 > Docker

Spring Cloud搭建微服务架构----Docker

2017-04-20 00:00 621 查看
摘要: Docker是Devops的标准解决方案。

前言

如果服务比较多,有效的部署多个服务实例将是一个很大的挑战,我们使用Docker容器化我们的服务。

Docker安装

我的开发环境是Mac,参照官方Mac Docker安装方案

安装成功之后通过Docker名称查看docker是否安装成功:

$ docker --version
Docker version 17.03.0-ce, build 60ccb22

构建镜像测试:

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


输入:http://localhost/



至此Docker安装成功,以下命令参照:

查看容器的root用户密码

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

查看容器日志

docker logs -f <容器名orID>

查看正在运行的容器

docker ps

docker ps -a为查看所有的容器,包括已经停止的。

删除容器

删除所有容器:docker rm $(docker ps -a -q)
删除单个容器:docker rm <容器名orID>

停止,启动,杀死一个容器

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路径>

后台运行(-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容器化我们的服务代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息