Docker

JVM性能优化系列-(5) 早期编译优化

早过忘川 提交于 2021-02-12 11:06:24
目前已经更新完《Java并发编程》和《Docker教程》,欢迎关注【后端精进之路】,轻松阅读全部文章。 <div align=center><img src="http://ww1.sinaimg.cn/large/a18449c6gy1gazysez0b1j20ni0n6afy.jpg" width = "200" height = "200"></div> Java并发编程: Java并发编程系列-(1) 并发编程基础 Java并发编程系列-(2) 线程的并发工具类 Java并发编程系列-(3) 原子操作与CAS Java并发编程系列-(4) 显式锁与AQS Java并发编程系列-(5) Java并发容器 Java并发编程系列-(6) Java线程池 Java并发编程系列-(7) Java线程安全 Java并发编程系列-(8) JMM和底层实现原理 Java并发编程系列-(9) JDK 8/9/10中的并发 Docker教程: Docker系列-(1) 原理与基本操作 Docker系列-(2) 镜像制作与发布 Docker系列-(3) Docker-compose使用与负载均衡 JVM性能优化: JVM性能优化系列-(1) Java内存区域 JVM性能优化系列-(2) 垃圾收集器与内存分配策略 JVM性能优化系列-(3) 虚拟机执行子系统 JVM性能优化系列-(4)

【Springboot】用Prometheus+Grafana监控Springboot应用

主宰稳场 提交于 2021-02-12 08:21:21
1 简介 项目越做越发觉得,任何一个系统上线,运维监控都太重要了。关于Springboot微服务的监控,之前写过 【Springboot】用Springboot Admin监控你的微服务应用 ,这个方案可以实时监控并提供告警提醒功能,但不能记录历史数据,无法查看过去1小时或过去1天等运维情况。本文介绍Prometheus + Grafana的方法监控Springboot 2.X,实现美观漂亮的数据可视化。 2 Prometheus Prometheus是一套优秀的开源的监控、报警和时间序列数据库组合系统,在现在最常见的 Kubernetes 容器管理系统中,通常会搭配 Prometheus 进行监控。 2.1 引入到Springboot 将 Prometheus 引入依赖如下: <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency> 对于Springboot,要开启 Actuator ,并打开对应的 Endpoint : management.endpoints.web.exposure.include=* # 或者 management.endpoints.web.exposure.include

初识Docker

牧云@^-^@ 提交于 2021-02-12 05:44:56
很久之前就听过Docker这个词,蓝鲸鱼顶着一堆集装箱的图标给我印象很深,之前也看了一下介绍,没怎么懂。但是随着开发时间的增长,我也逐渐了解到了一些东西,在此我将这些东西写下来。 为什么要用Docker? 要了解一个新的概念,我们需要从应用场景去感性地了解一下这个东西地作用。 情景1:开发过Java的同学应该体会过配置环境变量那种痛苦,配置一两次确实有助于我们了解环境变量的作用和机制。但是每次当我们换一台电脑就要配置一次,而且不仅限于Java,我之前尝试过CUDA环境变量配置,AndroidStudio环境变量配置,Python环境变量配置,apache环境变量配置,这种配置真的是浪费了大量的时间和精力,打代码的热情都减半了(要说是什么阻止了我敲代码的手,那配置环境变量脱不了干系)。 情景2:现在服务器上挂着一个tomcat,里面跑着一个java web程序在读着mysql数据库。现在我们要升级mysql,或者对正在运行的网站的某些地方做修改,但是我又不能立刻下线,那么我们该怎么办呢? 有了如上的问题,我们先不急着了解如何去解决,我们来形象地了解docker,再看看docker地结构和运行机制 Docker是什么? 先来说说大家熟悉的Java,Java是运行在JVM上的,所以有了“Write Once, Run Anywhere”的口号,有了平台无关的特性

修改alpine Linux的Docker容器的时区

ⅰ亾dé卋堺 提交于 2021-02-12 04:16:19
适用对象 使用 Alpine Linux 发行版的 Docker 镜像容器。 仅仅适用于 没有 安装 uclibc 的系统。 修改步骤 进入容器命令行 # docker exec -it container_name /bin/sh 安装 timezone 数据包 # apk add - U tzdata # ls /usr /share /zoneinfo 为了防止添加失败,加上 -U 参数,更新仓储缓存。 列出安装的时区文件,验证是否下载成功。 拷贝需要的时区文件到 localtime ,国内需要的是 Asia/Shanghai : # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 验证时区 # date Tue Jan 9 22 :53 :46 CST 2018 CST 即为 中国标准时间 。 移除时区文件: # apk del tzdata 作者:mcjiffy 链接:https://www.jianshu.com/p/cd1636c94f9f 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 来源: oschina 链接: https://my.oschina.net/u/4395639/blog/4072918

【DB宝3】在Docker中使用rpm包的方式安装Oracle 19c

心已入冬 提交于 2021-02-12 04:14:17
点 击 上 方 蓝 字 “ DB宝 ”,关 注 我 吧 一、安装 Docker 软件 二、创建 CentOS7 .6 的容器 三、 rpm 方式安装 Oracle 19 c 3 .1 、安装 database-preinstall 包 3 .2 、下载安装 db 软件,上传到 docker 容器内 3 .3 、创建数据库实例 四、数据库配置 4 .1 、修改密码 4 .2 、修改参数 4 .3 、修改 EM 的展现方式 4 .4 、配置用户环境变量 五、重启容器后的操作 六、将容器打包成镜像上传,供其他用户使用 七、其他用户下载使用 一、安装Docker软件 CentOS 7安装Docker官网: https://docs.docker.com/engine/install/centos/ 1 1、卸载掉旧版本的 Docker: 2 yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine 3 4 2、执行以下安装命令去安装依赖包: 5 yum install -y yum-utils

Docker Alpine Linux 运行 Go 时区转换小坑

本秂侑毒 提交于 2021-02-12 04:02:48
好久不见 拖更王更新了,尴尬而不失礼貌的微笑 :) 感谢那些没有取关的朋友们!你们的坚持是对的! 正文 出于各种原因,总会有需要编写时区转换代码的时候,好巧不巧的,最近我刚好在做一个需求的时候就需要做时区转换。 呵,真巧(不踩坑,哪来这篇文章...)。 准备工作 下面通过简单的十来行代码给大家做个演示,如果你把代码拷贝到你本地运行,我相信都能够正常运行的。 // main.go package main import ( "fmt" "time" ) func main () { now := time.Now() fmt.Printf( "Time: %v, Location: %v\n" , now, now.Location()) shanghai, err := time.LoadLocation( "Asia/Shanghai" ) if err != nil { panic (err) } shanghaiNow := now.In(shanghai) fmt.Printf( "Time: %v, Location: %v\n" , shanghaiNow, shanghaiNow) } 正常运行的话,你大概能看见如下输出: Time: 2020-10-26 18:32:34.63303 +0800 CST m=+0.000066515, Location: Local

Docker 镜像

元气小坏坏 提交于 2021-02-11 23:17:48
镜像是 Dokcer 的三大组件之一。 Docker运行容器之前本地需要存在对应的镜像,如果本地不存在该镜像,Dokcer 则会从镜像仓库中下载该镜像。 1、获取镜像 Docker Hub 上有大量的高质量的镜像可以使用,下面先介绍怎么获取这些镜像 docker pull : 从 Docker 镜像残酷获取镜像 docker pull --help : 通过该命令可以看到镜像名称格式 2、列出镜像 要想列出已经下载下来的镜像,可以使用 docker image ls or docker images 命令。 [root@iZbp17khuqdfkef3nl1db3Z ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/rabbitmq latest 84bc4895f175 7 days ago 151 MB docker.io/mysql latest 3a5e53f63281 8 days ago 465 MB docker.io/hello-world latest fce289e99eb9 12 months ago 1.84 kB 列表包含了 仓库名 、 标签 、 镜像 ID 、 创建时间 以及 所占用的空间 。 2.1、镜像体积 如果仔细观察,会注意到,这里标识的所占用空间和在

Docker 镜像

孤者浪人 提交于 2021-02-11 22:03:34
镜像是部署应用的基石 镜像是什么? 1.一个分层存储的文件:优点 - 易于扩展、优化存储空间 2.一个软件的环境 3.一个镜像可以创建N个容器 4.一种标准化的交付 镜像不是一个单一的文件,而是有多层构成。可以通过docker history <ID/NAME>查看镜像中各层内容及大小,每层对应着Dockerfile中的一条指令。Docker镜像默认存储在/var/lib/docker/<stoage-driver> [root@node1 ~]# docker history nginx IMAGE CREATED CREATED BY SIZE COMMENT 881bd08c0b08 47 hours ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B <missing> 47 hours ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B <missing> 47 hours ago /bin/sh -c #(nop) EXPOSE 80 0B <missing> 47 hours ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B <missing> 47 hours ago /bin/sh -c set -x && apt

linux安装docker和docker compose

跟風遠走 提交于 2021-02-11 21:41:19
运行 sudo -s 切换到root用户。 1.卸载旧版本Docker(如果系统之前没安装过Docker,可以跳过): yum remove docker \ docker - client \ docker -client- latest \ docker - common \ docker - latest \ docker -latest- logrotate \ docker - logrotate \ docker -engine 2.安装Docker所需要的包: yum install -y yum- utils \ device -mapper-persistent- data \ lvm2 3,安装最新版的Docker引擎: yum install docker-ce docker-ce-cli containerd.io 如果报错,尝试修改稳定的仓库: yum-config- manager \ --add- repo \ https: // download.docker.com/linux/centos/docker-ce.repo 4.启动Docker: systemctl start docker 查看docker状态: systemctl status docker 5.设置开机自动启动docker: systemctl enable docker