docker - 从安装到部署一个web应用(go、java) - CSDN博客

标签: | 发表时间:2017-12-02 01:37 | 作者:
出处:http://blog.csdn.net

说明:
1.权限是root,不是则先提升权限


一:安装docker

1. https://docs.docker.com/engine/installation/binaries/
下载docker最新版二进制tar.gz

      linux下:
wget https://get.docker.com/builds/Darwin/x86_64/docker-1.11.0.tgz

2.丢到 $path中

      mv docker /usr/local/sbin

3.启动

      docker daemon &

二.在容器上运行tomcat

docker官方镜像仓库由于有墙,所以下载的很慢。目前我用的是时速云的镜像。

第一步:拉取镜像到本地
docker pull index.tenxcloud.com/tenxcloud/tomcat

第二步:为镜像添加一个别名
docker tag index.tenxcloud.com/tenxcloud/tomcat tomcat-1

第二步:启动tomcat
docker run -p 5000:8080 --name container1 tomcat-1
如此一来,tomcat就启动了,-p 5000:8080的意思是把容器tomcat的8080端口隐射到宿主机的端口上,这样外网访问5000就能访问到我们的container1的8080 tomcat上面了.

如此一来,一个简单的tomcat就跑起来了.

此处容器container1 和 镜像tomcat-1,我的理解是镜像就是一个模板,container1就是根据这个模板创造的一个真正的盆子,这个盆子里面就跑着我们的tomcat. 所以我们可以用同一个镜像创建许多container。

三.在tomcat上面部署我们的应用

接下来我们要部署我们的应用上去,思路是进入到container1里面去,此时可以把container1想象为一个新的机器,我们只需要到tomcat的webapp丢war,然后重启就行了.

1.进入容器内部

docker exec -it container2 /bin/bash

2.查看tomcat webapp路径

/tomcat/webapps

3.传war

把war丢到宿主机 在丢到container里面丢到tomcat/webapps

docker cp DemoOne.war container2:tomcat/webapps

太TM惊喜了,docker本身就支持啊!!!666666.

4.重启容器

不需要了。。。docker自动帮你部署了
这里写图片描述

5.访问应用

这里写图片描述


至此,一个完整的docker部署tomcat及上线一个java web应用流程就走通了.
说实话,走通后才发现是这么的简单。之前概念上面不懂的地方这下也基本通了。
不得不说很Nice,和预想中的完全一样,就把dokcer给你创建的container当成一个新的linux用就行啦!


使用docker部署一套应用系统

接下来部署一套完整的系统,包括如下组件:
负载均衡:Haproxy
JAVA工:tomcat
缓存:Redis Master、Slave

流程是Java开一个restful接口,为redis写入一个数据,
再开一个restful接口,从redis读取一个数据。

系统结构如图:
这里写图片描述

步骤:
1.准备java工程,并打包成war
2.拉取haproxy镜像,并运行

      //注意 --name不能放在最后,6555:80 80不可更改,是haproxy本身的端口docker run-d-p6555:80--linkcontainer2:container2--name haproxy-1haproxy

这里写图片描述
可以看到,haproxy已经成功实现了代理的功能.
目前的镜像不知道为什么不能通过修改haproxy.cfg的方式来支持,后续研究


之后再补上golang镜像及应用部署的流程

相关 [docker web 应用] 推荐:

docker - 从安装到部署一个web应用(go、java) - CSDN博客

- -
1.权限是root,不是则先提升权限. 下载docker最新版二进制tar.gz. linux下: wget https://get.docker.com/builds/Darwin/x86_64/docker-1.11.0.tgz. docker官方镜像仓库由于有墙,所以下载的很慢. 如此一来,tomcat就启动了,-p 5000:8080的意思是把容器tomcat的8080端口隐射到宿主机的端口上,这样外网访问5000就能访问到我们的container1的8080 tomcat上面了..

Docker应用场景

- - 灯火阑珊
Flynn:一个使用go语言编写的开源PaaS平台,目标是简化分布式环境中应用的部署和维护,可以通过git push命令,将应用部署到Docker,从而省去复杂的配置和操作. CoreOS:一种新的架构体系重新设计的Linux发型版,可以运行在既有的硬件活着云服务器上. CoreOS不提供类似yum或apt的包管理工具,用户不需要在CoreOS中安装软件,而是让程序都在Docker容器中运行.

golang的杀手级应用:docker

- - _不是我干的 _
docker 是 golang 的第一个杀手级应用,发展迅猛, 现在各大云计算平台几乎全都支持 docker 实例,包括 谷歌,亚马逊,阿里云等. golang 本身已经让我惊喜万分,而 docker 更是极大的激发了我对虚拟化的想象. IT 业发展至今,软件和硬件始终是无法分割的两个物体. 就拿最近几年红红火火的智能机时代来说, 很久之前的诺基亚智能机, 软件和硬件相辅相成, 连进入主界面都需要按一个特定的按钮才能进入.

利用docker快速部署应用

- - snoopyxdy的博客
最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维,省得每次部署一台新服务器都去跑安装脚本了,对于我们开发人员也是好事情,无需写太多重复的部署文档,直接将docker的images丢上服务器就可以运行了. 安装很简单,直接进入下载页面,根据自己的操作系统下载相对应的安装包即可,下面说一下windows安装:.

八个Docker的真实应用场景

- - ITeye资讯频道
【编者的话】Flux 7介绍了常用的8个Docker的真实使用场景,分别是简化配置、代码流水线管理、提高开发效率、隔离应用、整合服务器、调试能力、多租户环境、快速开发. 我们一直在谈Docker,Docker怎么使用,在怎么样的场合下使用. 有需要交流的地方,可以通过评论与我们交流. 几周前我们参加了 DockerCon ,Dockercon是首个以Docker为中心的技术大会.

使用 Docker 搭建 Java Web 运行环境

- - 码农网
Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它. Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了. 作为一名 Java 程序员,我们是时候一起把 Docker 学起来了.

减少使用Java应用服务器,迎接Docker容器

- - ITeye资讯频道
【编者的话】随着Docker的发展,越来越多的应用开发者开始使用Docker. James Strachan写了一篇有关Java开发者如何使用Docker进行轻量级快速开发的文章. 他告诉我们,使用Docker和服务发现的机制,可以有效减轻Java运维人员的负担,进行项目的快速启动和持续迭代. 多年来,Java生态系统一直在使用应用服务器.

在Docker中监控Java应用程序的5个方法

- -
作者:Chris Ward . 译者注:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. 通常情况下,监控的主要目的在于:减少宕机时间、扩展和性能管理、资源计划、识别异常事件和故障排除分析等. 本文作者介绍了5种方法帮助你在Docker中监控Java应用程序.

docker初体验之docker-tomcat

- - BlogJava-首页技术区
docker已经是现在最热的容器技术,最近也去体验了一下,在daocloud注册了一个账号,并开始本机实战docker. daocloud免费有两个容器可用,体验送T恤,邀请送书,这里我分享一个daocloud的邀请码 https://account.daocloud.io/signup?invite_code=mxeq2jkmcur37vz6ven8,daocloud是非常棒的容器云平台,使用体验好,问题响应也及时,绑定微信还送一个额外容器.

微服务应用-基于Spring Cloud和Docker构建电影推荐微服务

- - CSDN博客推荐文章
使用Spring Cloud和Docker构建电影推荐微服务. 如果你对云应用很了解,可以直接移步下载运行项目(https://github.com/kbastani/spring-cloud-microservice-example),或跳转到部署步骤,. 本博客系列将向你介绍一些使用Spring Cloud和Docker构建微服务平台的基本概念.