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