dockerfile制作各应用镜像实例

2023-11-11

目标:

例如:

  • 记录 dockerfile制作各应用镜像实例代码

应用实例:

  1. 搭建jar应用程序docker容器
    Dockerfile文件:
FROM java:8
MAINTAINER 126@126.net
COPY ./automation-1.0.0.jar /app/automation-1.0.0.jar
WORKDIR /app/logs/
WORKDIR /app/
ENV TZ=Asia/Shanghai
EXPOSE 81
CMD ["java","-jar","automation-1.0.0.jar","-Dfile.encoding=utf-8"]

构建镜像: docker build -t automation-docker .
构建成功后,启动容器:docker run -it -p 81:81 –name automation -d automation-docker
进入容器内部查看: docker exec -it automation /bin/bash

curl http://localhost:81/api地址访问

  1. 搭建war应用程序docker容器
FROM tomcat-alpine-pp2:8.5.51.16(tomcat根据实际变更)
RUN rm -rf /usr/local/tomcat/webapps/ROOT
ADD automation.war /usr/local/tomcat/webapps/automation.war
# 修改docker时区为东八区,规避应用运行时间与北京时间相差8小时问题  
ENV TZ=Asia/Shanghai 
EXPOSE 8081 
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
  1. npm nodejs生成dist资源打包至nginx:1.22容器
FROM nginx:1.22.0-alpine(nginx根据实际变更)
RUN rm -rf /usr/share/nginx/html/manage
COPY ./manage/dist /usr/share/nginx/html/manage
#ADD  ./dist.tar /usr/share/nginx/html/
RUN ls -al && pwd
#conf是归档文件
COPY ./conf/default.conf /etc/nginx/conf.d/default.conf
COPY ./conf/nginx.conf  /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/
RUN ls -al && pwd
修改docker时区为东八区,规避应用程序和北京时间相差8小时问题
ENV TZ=Asia/Shanghai
EXPOSE 31727
CMD ["nginx", "-g", "daemon off;"]

nginx.conf文件 :

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
events {
worker_connections  1024;
}
http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;
sendfile        on;

keepalive_timeout  65;
proxy_buffer_size 128k;
proxy_buffers 32 64k;
proxy_busy_buffers_size 256k;
client_max_body_size 2048m;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json image/jepg image/gif image/png image/jpg;
gzip_disable "MSIE[1-6]\.";
gzip_vary on;
proxy_ignore_client_abort  on;

include /etc/nginx/conf.d/*.conf;
}

default.conf文件:

server {
    listen       81;
    listen  [::]:81;
    server_name  localhost;

    access_log  /var/log/nginx/accessservice.log;
    error_log  /var/log/nginx/errorsservice.log;

    location / {
        root   /usr/share/nginx/html/manage;
        index  index.html index.htm;
        proxy_set_header X-Forward-For $remote_addr;
        try_files  $uri $uri/ /index.html;
    }
}

说明如果同时发布dist目录下两个不同web资源项目(如manage、monitor),可追加monitor配置:
location /monitor {
alias /usr/share/nginx/html/monitor;
index index.html index.htm;
proxy_set_header X-Forward-For $remote_addr;
try_files $uri $uri/ /index.html;
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dockerfile制作各应用镜像实例 的相关文章

随机推荐

  • 爬虫之selenium

    目录 selenium介绍 基本使用 selenium用法 元素操作 等待元素被加载 元素各项属性 执行js代码 切换选项卡 浏览器前进后退 无界面浏览器 xpath的使用 简单介绍 selenium中使用 异常处理 登录获取cookie保
  • Android 图片压缩二:

    public Bitmap zoomBitmap Bitmap bitmap int width int height int w bitmap getWidth int h bitmap getHeight Matrix matrix n
  • Asp.Net Core&CAP实现分布式事务

    需要注意的是标题中的CAP不是指的CAP理论 而是园区大神杨晓东实现的框架 CAP框架基于本地消息表用最终一致性实现分布式事务 本地消息表 首先我们考虑一个场景 在将用户信息更改后 需要发送一条消息到消息队列 缓存或是写入到其他库中 这个过
  • STM32F103ZET6【HAL函开发】STM32CUBEMX------II2C实验

    SCL和SDA都要接上拉电阻 起始信号 SCL为高 SDA由高变为低 停止信号 SCL为高 SDA由低变为高 数据有效性 SCL为高电平时 SDA数据有效 此时SDA为高电平时 表示数据为 1 为低电平时 表示数据为 0 当SCL为低电平时
  • Linus命令大全

    Linus命令是Linux操作系统中的一些常用命令 下面是一些常用的Linus命令 ls 用于显示当前目录中的文件和目录 cd 用于切换当前目录 pwd 显示当前目录的路径 mkdir 创建新目录 rm 删除文件或目录 cp 复制文件或目录
  • MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件

    一 安装MoveIt assistant sudo apt get install ros kinetic moveit 如果报错说找不到软件包 可能是没有更新源 只要去roswiki上找安装教程 把源重新加入就可以了 二 打开配置助手 r
  • npm ERR! code EPERM npm ERR! syscall unlink npm ERR!错误解决方法

    npm ERR code EPERM npm ERR syscall unlink npm ERR 错误解决方法 1 问题描述 2 解决方法 1 问题描述 由于之前电脑系统的原因 电脑重置了一下 之前安装的环境都没了 然后在重新安装node
  • 架构之重构的 12 条军规

    注 架构之重构的 12 条军规 上 发布以后 一些读者着急要下篇 所以在这里我把上下篇合并成一篇 让大家可以阅读完整版 不用分开看了 对于开发者来说 架构设计是软件研发过程中最重要的一环 所谓没有图纸 就建不了房子 在遍地 App 的互联网
  • 自学Python能做什么副业?通过这篇文章一起来看看

    很多小伙伴想在业余的时间自学一下python语言 但是又不知道python能够给自己带来什么 那么小编就通过这篇文章来和大家一起说说python学会了能做哪些副业 一 兼职处理数据 在目前的万物互联的时代下 越来越多的人离不开电脑 手机的办
  • 爬虫中的大哥大-scrapy框架介绍

    文章适合于所有的相关人士进行学习 各位看官看完了之后不要立刻转身呀 期待三连关注小小博主加收藏 小小博主回关快 会给你意想不到的惊喜呀 文章目录 scrapy介绍及安装 创建项目 创建爬虫 注意 如何运行 scrapy爬虫实战 1 sett
  • VMWare安装Ubuntu18时卡住

    VMWare安装Ubuntu18时卡住 今天安装Ubuntu时发现一直卡在 Started Network Manager Script Dispatcher Service 或者Mounting 的地方 由于点击安装之后没看 过了2小时看
  • Spring中获取Bean对象的三种注入方式和两种注入方法

    目录 前言 获取Bean对象的三种注入方式 属性注 构造 法注 Setter 注 属性注 构造 法注 和Setter 注 有什么区别呢 两种注入方法 Autowired 和 Resource Autowired 和 Resource 有什么
  • vue3 vite sass样式大量重复

    在vite config ts中配置 css preprocessorOptions 导入scss预编译程序 scss additionalData import assets scss variables scss import asse
  • Linux下修改IP、DNS、路由命令行设置

    一 快速修改 重启后设置就没了 ifconfig eth0 192 168 1 22 netmask 255 255 255 0 up route add default gw 192 168 1 2 二 修改配置文件 重启设置还在 一 u
  • LeetCode-2373. 矩阵中的局部最大值【矩阵,数组】

    LeetCode 2373 矩阵中的局部最大值 矩阵 数组 题目描述 解题思路一 原地修改 首先将每个3 3的矩阵的最大值存放在左上角的点 然后修改给的grid矩阵的大小 解题思路二 暴力 申请一个数组 解题思路三 0 题目描述 给你一个大
  • java8中常用函数式接口Supplier<T>、Consumer<T>、Function<T,R>、Predicate<T>使用示例

    场景 函数式接口 Functional Interface 就是一个有且仅有一个抽象方法 但是可以有多个非抽象方法的接口 而java中的函数式编程体现就是Lambda 所以函数式接口就是可以适用于Lambda使用的接口 下面介绍四个常用的函
  • 热议话题

    这两天在平台上看见了一个有趣的问题 为什么医生 律师 教师等传统职业都是越老越吃香 不出意料 这个问题的浏览量非常高 下面回答众说纷纭 但让我印象深刻的还是下面这个回答 犀利而真实 作为声名远扬的高薪职业 程序员相关话题一直是焦点 如 薪资
  • Macos下重置MySQL密码

    环境信息 Macos Catalina 10 15 7 19H2 MySQL 8 0 22 问题 忽然一段时间忘记了MySQL数据库的密码 登录不上去了 该如何办呢 预想中的路径 mysqld safe skip grant tables
  • 转载:电缆种类及选型计算

    电缆种类及选型计算一 电缆的定义及分类 广义的电线电缆亦简称为电缆 狭义的电缆是指绝缘电缆 它可定义为 由下列部分组成的集合体 一根或多根绝缘线芯 以及它们各自可能具有的包覆层 总保护层及外护层 电缆亦可有附加的没有绝缘的导体 我国的电线电
  • dockerfile制作各应用镜像实例

    目标 例如 记录 dockerfile制作各应用镜像实例代码 应用实例 搭建jar应用程序docker容器 Dockerfile文件 FROM java 8 MAINTAINER 126 126 net COPY automation 1