Docker学习之搭建JavaWeb环境

简介: 自上次从北京参加阿里云社区开发者进阶大会回来,就萌发了学习Docker的种子,尽管公司现在的业务并没有什么需求,但学习先进的东西总没有坏处。 2017年,Docker 四周岁啦!尽管之前有所耳闻,但是并没有机会和时间去接触,正好手里躺着两台服务器,趁着年底系统的学习一下,自此接触并认识小鲸鱼。

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

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

docker_4_900x500

回顾

上一篇文章大体对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

作者: 小柒

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

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

目录
相关文章
|
15天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
28 1
|
1月前
|
存储 Ubuntu Linux
学习docker
学习docker
33 1
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
227 3
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
27 2
|
1月前
|
运维 Kubernetes 开发者
Docker Swarm学习
【10月更文挑战第5天】
36 3
|
1月前
|
存储 监控 Shell
docker的底层原理二:容器运行时环境
本文深入探讨了Docker容器运行时环境的关键技术,包括命名空间、控制组、联合文件系统、容器运行时以及分离的进程树,这些技术共同确保了容器的隔离性、资源控制和可移植性。
38 5
|
1月前
|
Kubernetes Linux 持续交付
docker容器学习
【10月更文挑战第1天】
36 1
|
1月前
|
jenkins Java 持续交付
Docker搭建jenkins环境
这篇文章详细介绍了如何利用Docker搭建Jenkins环境,包括拉取Jenkins镜像、配置端口映射及初始化设置的步骤。
130 0
Docker搭建jenkins环境
|
2月前
|
虚拟化 Docker Windows
window 10专业版部署docker环境
本文介绍了如何在Windows 10专业版上部署Docker环境,包括安装步骤、配置镜像加速以及可能遇到的错误处理。
132 2
window 10专业版部署docker环境
|
1月前
|
Linux 持续交付 iOS开发
docker的使用(环境特殊时可以考虑使用)
docker的使用(环境特殊时可以考虑使用)
13 0