Docker学习之搭建JavaWeb环境

自上次从北京参加阿里云社区开发者进阶大会回来,就萌发了学习Docker的种子,尽管公司现在的业务并没有什么需求,但学习先进的东西总没有坏处。

2017年,Docker 四周岁啦!尽管之前有所耳闻,但是并没有机会和时间去接触,正好手里躺着两台服务器,趁着年底系统的学习一下,自此接触并认识小鲸鱼。

docker-4周年-900x500.png

回顾

上一篇文章大体对Docker有了一定的认识和了解,Docker学习,并从阿里云官方镜像拉取了一个centos镜像。今天,来学下Docker容器如何配置一个JavaWeb环境。

配置

首先查看是否有容器或者在运行,然后启动并进入容器:

# 查看所有容器

docker ps -a

# 查看运行中的容器

docker ps

# 启动容器

docker start 容器名或ID

# 进入容器

docker attach 容器名或ID

安装JDK,这里我们直接使用YUM安装(简单方便与官方的基本没什么差别):

 yum install java -y

安装完成,如果没有错误,执行以下命令检查是否安装成功:

java -version

安装Tomcat容器,这里我们下载官方的Tomcat8:

# 下载

wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz

# 解压

tar -zvf apache-tomcat-8.5.24.tar.gz

# 重命名

mv apache-tomcat-8.5.24 tomcat8

# 切换的执行目录

cd tomcat8/bin

# 启动容器

./startup.sh

启动后,切换到logs目录查看日志是否启动成功:

tail -100f catalina.out

访问

以上配置完成以后,那么我们如何访问容器中的服务呢?由于母鸡中安装配置了OpenResty,我们可以使用OpenResty做代理服务访问我们容器内部的服务。

首先我们命令查看容器的内网IP:

# 查询单个容器的IP

docker inspect <container id>

# 或者查询所有容器的IP

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

然后通过Nginx代理配置:

 server {

        listen       80;

        server\_name  docker.52itstyle.com;



        charset utf-8;



        location / {

            default\_type text/html;

            proxy\_pass http://172.18.0.2:8080;

        }



    }

最终访问地址:http://docker.52itstyle.com/

快捷

当然,如果你不想一步步配置JavaWeb运行环境,你可以执行执行以下命令获取现成的打包镜像:

#阿里镜像

docker login --username=admin@52itstyle.com registry.cn-hangzhou.aliyuncs.com

# 获取 tomcat8版本

docker pull tomcat:8

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿杜的世界

Docker with Spring Boot

前段时间在我厂卷爷的指导下将Docker在我的实际项目中落地,最近几个小demo都尽量熟悉docker的使用,希望通过这篇文章分享我截止目前的使用经验(如有不准...

1064
来自专栏友弟技术工作室

docker微服务初体验配置文件composedocker compose使用

7165
来自专栏老司机的技术博客

docker实战入门(3)基本概念

docker的镜像是一个层叠的只读文件系统,最底端是一个引导文件系统(bootfs),这很像典型的linux的引导文件系统,docker用户几乎永远不会和引导文...

56310
来自专栏同步博客

Docker之进入容器(三)

  经过前面两篇博客的扫盲,大家多多少少对docker有了一个基本的了解,也接触了docker的常用命令。在这篇博客中,我将介绍进入docker容器的几种方式。

1333
来自专栏程序你好

从 Docker 的新手村出发?那么你需要这11条守则

1012

构建远程缓存系统

上个月,我们的工程团队发布了一个大的更新,关于在使用我们的Docker平台Jet时Docker镜像是如何被缓存和存储的。在本文中,我们将讨论更新的动机,特性的设...

2236
来自专栏素质云笔记

caffe镜像︱window10+docker+ubuntu14.04+caffe镜像的简单尝试

win10专业版可以利用Hyper-V开启docker,一般升级而来的都是家庭版,现在要升级到win10专业版, 需要产品秘钥。 github网址:h...

2989
来自专栏CSDN技术头条

Docker数据容器保护方式利弊

Docker是一个非常成功的Linux开源项目。它在Linux操作系统下无需增加管理器即可虚拟化应用程序。该应用程序常被抽象地误认为是操作系统(具有Linux内...

2427
来自专栏磐创AI技术团队的专栏

5分钟配置好你的AI开发环境

无论是第一次设置TensorFlow的新手数据科学爱好者,还是使用TB级数据的经验丰富的AI工程师,安装库、软件包或者框架总是一个困难又繁琐的过程。但是像Doc...

1416
来自专栏跟我一起学Docker

第二章 Docker环境安装

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实...

2033

扫码关注云+社区