自上次从北京参加阿里云社区开发者进阶大会回来, 就萌发了学习 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
作者: 小柒
来源: https://yq.aliyun.com/articles/539301