首页 > 其他分享 >docker 常用基础镜像打包

docker 常用基础镜像打包

时间:2023-12-20 11:49:01浏览次数:30  
标签:set etc header html proxy mysql 镜像 docker 打包

JAVA

Dockerfile

# 8的镜像比较小,但是在某些机器运行可能会有问题
#FROM openjdk:8-jdk-alpine
# ARM机器推荐
# FROM arm64v8/openjdk:17-jdk
FROM openjdk:17-jdk-alpine
ENV LANG en_US.UTF-8
RUN echo "http://mirrors.huaweicloud.com/alpine/v3.6/main" > /etc/apk/repositories \
    && echo "http://mirrors.huaweicloud.com/alpine/v3.6/community" >> /etc/apk/repositories \
    && apk update upgrade \
    && apk add --no-cache procps unzip curl bash tzdata \
    && apk add ttf-dejavu \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone
# 将window字体全部转移 会导致镜像很大 C:\Windows\Fonts 一般富文本转word需要
#ADD Fonts /usr/share/fonts
# 只导入一个字体微软雅黑 可以应对一般的excel导入导出
ADD msyh.ttf /usr/share/fonts/msyh.ttf

node

default.conf

server {
    listen       80;
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";
    server_name  localhost;
    client_max_body_size 200m;
    proxy_connect_timeout 5m;
    proxy_send_timeout 5m;     # 设置发送超时时间,
    proxy_read_timeout 5m;	   # 设置读取超时时间。
    keepalive_timeout 5m;
    location / {
        add_header Cache-Control "no-cache";
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html =404;
    }

    location /f/ {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://test-server;
    }

    location /prod-api/{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://test-server/;
        proxy_read_timeout 5m;      # 设置从上游服务器读取响应的超时时间为5分钟
        client_body_timeout 5m;     # 设置接收客户端请求正文的超时时间为5分钟
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

Dockerfile

# ARM机器推荐
#FROM arm64v8/nginx:1.24.0
FROM nginx:1.24.0
RUN rm /etc/nginx/conf.d/default.conf
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
EXPOSE 80

mysql

utf8mb4.cnf

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
symbolic-links=0

log-bin=/var/lib/mysql/mysql-bin
server-id=1
binlog_format=MIXED
expire_logs_days=30
# 表名忽略大小写
lower_case_table_names=1
# 最大连接数
max-connections=2000
# 时区
default-time_zone = '+8:00'

Dockerfile

FROM arm64v8/mysql:8.0.31
COPY utf8mb4.cnf /etc/mysql/conf.d/utf8mb4.cnf
COPY ./sql  /tmp/sql
RUN mv /tmp/sql/*.sql /docker-entrypoint-initdb.d
RUN rm -rf /tmp/sql

init.sql

-- 注意加建库语句
CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
USE `test`;

标签:set,etc,header,html,proxy,mysql,镜像,docker,打包
From: https://www.cnblogs.com/ranger-dev/p/17916129.html

相关文章

  • 如何将 Python 项目打包成 exe,另带卸载功能!
    前言虽然我是做web的,但是对Python的众多开源项目一直都很关注。像之前的stablediffusion的AI绘画,和so-vits-svc音色替换等源码的部署文档都很完善了。尽管如此,对于刚入门的和本地环境搭建各种踩坑的同学,又急于一试就显得不太友好了。针对这一现象,网上早有了各种大佬做......
  • docker方式安装Rancher 2.6.9
    一、说明公司当前有一个用TKE搭建的K8s集群,目前遇到的问题:目前TKE已经基本不更新了公司内K8s集群所承载了所有项目的测试环境,目前资源已经无法满足一台节点坏跟现网集群环境不一致,现网是每个项目一个集群针对上面的问题,经过内部沟通,决定在公司内重新搭建一套多集群K8s环境,为了便于......
  • macOS Sonoma 14.2.1 (23C71) 正式版 Boot ISO 原版可引导镜像下载 (安全更新)
    macOSSonoma14.2.1(23C71)正式版BootISO原版可引导镜像下载(安全更新)本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。请访问原文链接:https://s......
  • 使用Docker和Jenkin进行自动化测试、部署、回滚
    没有安装docker的可以通过dockerinstall进行安装。dockerjenkins运行jenkins首先创建一个目录存储容器中的信息mkdirjenkins-blue,然后执行命令sudochown-R1000:1000./jenkins-blue/,否则可能会报错touch:cannottouch‘/var/jenkins_home/copy_reference_file.log’:P......
  • 优化减小docker images 尺寸
    什么是docker?Docker是一种容器引擎,可以在容器内运行一段代码。Docker镜像是在任何地方运行您的应用程序而无需担心应用程序依赖性的方式。要构建镜像,docker使用一个名为Dockerfile的文件。Dockerfile是一个包含许多指令(RUN、COPY、EXPOSE等)的文件。成功执行这些命令后,doc......
  • Docker部署QD
    一、简介QD是一个基于HAR编辑器和Tornado服务端的HTTP定时任务自动执行Web框架。二、安装QD绿联DX4600为例,首先我们打开Docker管理器,进入镜像管理,然后在镜像仓库中搜索a76yyyy/qiandao​​,选择latest​​版本并下载。​​​​下载完成后,我们在本地镜像中......
  • Docker部署MySQL
    1、拉取MySQL镜像dockerpullmysql:5.72、查看镜像dockerimages3、创建存储MySQL数据信息的目录在根目录下创建/data/docker/mysql目录,用于存储mysql的数据信息mkdir/data/docker/mysql-p4、宿主机创建MySQL配置文件4.1、创建conf目录在/data/docker/mysql目录下......
  • UE5打包出现ERROR: Client target not found
    由于需要测试Client连接DS来测试联机同步逻辑,所以需要打个Client的包出来,但是在我设置好Client的打包设置然后运行时,出现了ERROR:Clienttargetnotfound最后找UE官方论坛下的一个帖子:https://forums.unrealengine.com/t/unrealfrontend-client-target-not-found/103129原来......
  • linux系统,磁盘、镜像、目录挂载和未挂载,查看命令
    查看系统中存在磁盘或镜像、设备lsblk 使用lsblk命令查看系统上的所有块设备信息:blkid blkid命令可以更详细的查看未挂载磁盘,不仅能查看大小,还可以看到其他更多的信息fdisk-lfdisk-l命令可以列出系统中未挂载的所有磁盘,执行该命令后会列出当前系统的所有磁盘,其中......
  • Docker启动Nacos报错:Nacos Server did not start because dumpservice bean construct
    一、表象重启服务器之后Docker运行Nacos容器,启动成功,但是外网无法访问。查看了一下Nacos启动日志(dockerlogsnacos容器名)二、分析很明显是数据库配``置问题。。如果是数据库配置的问题,可以着重检查以下信息尤其是MySQL内网Host,查询方式见Docker安装Nacos三、解决我已......