Docker 安装Tomcat / ElasticSearch 镜像分层原理
程序员文章站
2022-04-18 21:26:34
...
Tomcat
一般用--rm
进行测试,用完就会删除
docker run -it --rm tomcat:9.0
docker pull tomcat:9.0
docker run -d -p 8080:8080 --name mytomcat tomcat
测试访问
hadoop101:8080
出现404进入容器
docker exec -it mytomcat /bin/bash
webapps下目录为空,将webapps.dist中文件复制到webapps中
cp -r webapps.dist/* ./webapps
阿里云镜像默认最小镜像,不必要的都删除,只保证最小可运行环境。
镜像原理分层
- 所有的镜像在下载时都是分层下载的
- 更新旧版本时只是对旧版本的层进行更改
- 当有多个镜像存在交叉的层级时,不需要重新下载,只需下载自己的层级
- 自己对镜像中文件进行更改时,只是在原来的增加上增加了新的层级,并没有对镜像本身的原始文件进行更改
tomcat的原始文件webapps
下没有文件,通过复制webapps.dist
中的文件
提交docker镜像版本类似git中的commit
docker commit
-a 作者
-m message 提交信息
docker commit -a "chai" -m "add webapps pages" 94ae36cabf71 mytomcat:1.0
通过commit
命令添加更新,查看docker images
会发现镜像中生成新的版本,已有就可以使用更改过的镜像
ElasticSearch
docker pull elasticsearch
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch
docker stats 查看容器内存占用
ES
会占用大量内存
修改指令增加内存限制ES_JAVA_OPTS
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch
启动ES
上一篇: 浅谈协方差矩阵
下一篇: java-统计字符串中每个字符出现的次数