1.下载一个tomcat8,解压好改名为tomcat并配置端口为80,删除webapps下的默认的应用,修改tomcat/bin目录下脚本的权限,chmod +x *.sh

2.路径一般放在/usr/local目录下

3.配置docker信任私库的ssl

/etc/docker配置daemon.json文件

cat <<EOF >> /etc/docker/daemon.json
{
"insecure-registries": ["registry.fpi-inc.hz"]
}
EOF
systemctl restart docker

4.编写Dockerfile如下:

FROM mcr.microsoft.com/java/jre:8u192-zulu-alpine

LABEL container="XX"

COPY tomcat /usr/local/tomcat

ENV TZ=Asia/Shanghai

ENV CATALINA_HOME=/usr/local/tomcat

ENV CATALINA_BASE=/usr/local/tomcat

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/tomcat/lib:/usr/local/tomcat/bin

EXPOSE 80

CMD ["catalina.sh", "run"]



执行命令docker build -t tomcat:8-jre8-alpine .创建镜像

执行命令docker images|grep tomcat查看镜像

过程中遇到的问题:

解决办法:

代理服务器使用proxy

这一步在能够访问外网的服务器上执行,此后客户端的网络请求会通过这个服务器转发

mkdir -p ~/proxy
cd ~/proxy
cat <<EOF >>startup.sh
#!/bin/sh docker rm -f tinyproxy
docker run -d --name tinyproxy -p 8888:8888 dannydirect/tinyproxy:latest ANY
EOF
chmod +x startup.sh
./startup.sh

docker通过代理

这一步可以使服务器的docker命令通过代理(docker search、push、pull、login等)

mkdir -p /etc/systemd/system/docker.service.d/

cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]

Environment="HTTP_PROXY=http://172.19.20.100:8888" "NO_PROXY=registry-hz.fpi-inc.site"

EOF systemctl daemon-reload systemctl restart docker

 

docker-构建建tomcat镜像并启动容器的更多相关文章

  1. 【Docker学习之三】Docker查找拉取镜像、启动容器、容器使用

    环境 docker-ce-19.03.1-3.el7.x86_64 CentOS 7 一.查找.拉取镜像.启动容器1.查找镜像-docker search默认查找Docker Hub上的镜像,举例:D ...

  2. 构建Logstash+tomcat镜像(让logstash收集tomcat日志)

    1.首先pull logstash镜像作为父镜像(logstash的Dockerfile在最下面): 2.构建my-logstash镜像,使其在docker镜像实例化时,可以使用自定义的logstas ...

  3. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

  4. Docker构建一个node镜像

    0. 设置国内docker镜像源 进入Settings->Daemon->Advanced,添加如下配置. { "registry-mirrors": [ " ...

  5. 使用Docker构建jdk1.8镜像

    一.下载centos镜像 下载自己需要的版本TAG,详见: docker安装指定版本TAG的镜像 $ sudo docker pull centos:centos7 二.下载jdk1.8,并上传到/u ...

  6. Docker 最常用的镜像命令和容器命令

    本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像 ...

  7. Docker最常用的镜像命令和容器命令

    一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...

  8. docker制作jdk+tomcat镜像

    docker部署TOMCAT项目 一.内核升级 [root@test01 ~]# uname -r   #内核查看确认 2.6.32-696.16.1.el6.x86_64 [root@test01 ...

  9. 使用Docker构建基于centos7镜像的python环境

    Dcokerfile配置信息 ############################################## # 基于centos7构建python3运行环境 # 构建命令: 在Dock ...

随机推荐

  1. JS-判断null值

    单独判断 null var str = null; if(str === null){ alert("is null"); } 同时判断 null 和 undefined 虽然nu ...

  2. 带你了解MyBatis一二级缓存

    在对数据库进行噼里啪啦的查询时,可能存在多次使用相同的SQL语句去查询数据库,并且结果可能还一样,这时,如果不采取一些措施,每次都从数据库查询,会造成一定资源的浪费,所以Mybatis中提供了一级缓存 ...

  3. SSIS 从oracle 转数据回MS SQL

    SSIS 从oracle 转数据回MS SQL,转每月的销售记录,大概15000以内,在开发机器上没问题,部署到生产环境出现各种状况“ SSIS 无法从连接伺服器的OLE DB提供者BULK 提取资料 ...

  4. Python3.5学习之旅——day6

    面向对象编程的学习 一.定义 首先跟大家介绍一位资深的程序员前辈说过的编程心得: 1.写重复代码是非常不好且低级的行为 2.完成的代码需要经常变更 所以根据以上两个心得,我们可以知道写的代码一定要遵循 ...

  5. 《开课》---创业学习--训练营直播第一课--HHR

    1,分享三点:敬畏心,学习过程,带着目标学习. 2,融资是个非常专业的技术活. 3,一定不要盲目自信,在资本市场,融资永远是个小概率事件. 4,学习过程:每周解锁学习资料,固定的时间来进行作业答疑. ...

  6. C - Water The Garden

    It is winter now, and Max decided it's about time he watered the garden. The garden can be represent ...

  7. System.getProperty() 获取系统变量

    例:获取用户当前的工作目录 String CONFPREFIXURL = System.getProperty("user.dir"); System.out.println(CO ...

  8. mysql 表这段内容替换

    update `cr_article` set `img`=replace(`img`,'http://192.168.2.10/upload','http://zouke1220.oss-cn-be ...

  9. Unity热更新对比

    https://www.jianshu.com/p/f9d90edf4a7c Unity 热更新为啥用Lua 详解 ILRuntime的优势 同市面上的其他热更方案相比,ILRuntime主要有以下优 ...

  10. Trie学习总结

    Trie树学习总结 字典树,又称前缀树,是用于快速处理字符串的问题,能做到快速查找到一些字符串上的信息. 另外,Trie树在实现高效的同时,会损耗更多的空间,所以Trie是一种以空间换时间的算法. T ...