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. websocket 无法查看Data

    websocket 是浏览器新的信息传输协议,记录一些遇到的问题: 调试相关: websocket 连接以后可以在Chrome tools 中的network下看到,如图 要查看通信内容可以选中点击f ...

  2. 从ES6到ES10的新特性万字大总结

    介绍ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范.这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实 ...

  3. put、patch与post区别

    idempotent 幂等的 如果一个方法重复执行多次,产生的效果是一样的,那就是idempotent的:  idempotent的意思是如果相同的操作再執行第二遍第三遍,結果還是一樣. POST方法 ...

  4. springAOP实现原理

    spring AOP实现原理, spring 会在初始化的时候,创建一个BeanPostProcessor(AnnotationAwareAspectJAutoProxyCreator)用来为类注入切 ...

  5. P1893山峰瞭望

    传送门 看完这个题,大家都懂意思吧,然后代码呢,emmmmm #include <bits/stdc++.h> using namespace std; const int maxn = ...

  6. java模板字符串功能的简单实现

    package com.Interface.util; import lombok.extern.slf4j.Slf4j; /** * 测试类 * * @author 华文 * @date 2019年 ...

  7. java 类型转换一些相关问题

    猜测:第二句 第四句会出错 结果是第二句和第四句会出错.说明了父类可以向子类类型转换,而不同的子类直接不能类型转换.

  8. 取消Oracle数据库密码期限 取消用户锁定

    1.首先查用户被锁时间:sql>select username,account_status,lock_date from dba_users where username='SA'; 2.解锁 ...

  9. 14.浏览器屏幕缩放bug修复

    问题:浏览器缩放时,轮播图显示不全,滚动水平滚动条,发现图片缺失 解决:隐藏水平滚动条,页面都只提供垂直滚动条的需求 global.css /* 水平超出部分默认隐藏 */ #app { overfl ...

  10. Python与线性代数——Numpy中的matrix()和array()的区别

    Numpy中matrix必须是2维的,但是 numpy中array可以是多维的(1D,2D,3D····ND).matrix是array的一个小的分支,包含于array.所以matrix 拥有arra ...