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
qrcode_for_gh_bf7a27ade681_258.jpg

作者: 小柒

出处: https://blog.52itstyle.com

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(345849402@qq.com)咨询。