Fork me on GitHub
Mao's Blog

  • 首页

  • 归档

  • 分类

  • 标签

  • Java编程思想

  • Java并发编程实战

  • 搜索

使用Dockerfile创建镜像

发表于 2018-03-29 | 分类于 Docker | 本文字数: 3.2k | 阅读时长 ≈ 0:05

Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像。

基础结构

Dockerfile由一行行命令语句组成,并且支持以#开头的注释行。

一般而言,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。

其中,一开始必须指明所基于的镜像名称,接下来一般是说明维护者信息。后面则是镜像操作指令,例如RUN指令,RUN指令将对镜像执行跟随指令。每运行一条RUN指令,镜像就添加一层,并提交。最后是CMD指令,用来指定运行容器时的操作命令。

阅读全文 »

Docker端口映射与容器互联

发表于 2018-03-26 | 分类于 Docker | 本文字数: 2k | 阅读时长 ≈ 0:03

除了通过网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:

  • 一个是允许映射容器内应用的服务端口到本地宿主主机;
  • 另一个是互联机制实现多个容器间通过容器名来快速访问。

端口映射实现访问容器

从外部访问容器应用

在启动容器时,如果不指定对应的参数,在容器外是无法通过网络访问容器内的网络应用和服务的。

当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数来指定端口映射。当使用-P(大写)标记时,Docker会随机映射一个49000~49900的端口到内部容器开放的网络端口。

-p(小写)可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。支持的格式有IP:HostPort:ContainerPort | IP::ContainerPort | HostPort:ContainerPort。

阅读全文 »

查找给定值的k个最接近的元素

发表于 2018-03-20 | 分类于 Algorithms | 本文字数: 3.2k | 阅读时长 ≈ 0:05

查找给定值的k个最接近的元素

给定一个有序数组arr[]和一个值X,在arr[]中找到与X最接近的k个元素。请注意,如果元素存在于数组中,则不应该输出,只需要其他最接近的元素。

算法思路:

  • 首先用二分搜索找到最接近X的交叉点(交叉点之前的元素小于或等于X,之后的元素大于或等于X)。这一步需要O(log⁡n)O\left( \log n\right)O(logn)次。
  • 一旦我们找到交叉点,我们可以比较交叉点两侧的元素来打印k个最接近的元素。这一步需要O(k)O\left( k\right)O(k)次。
阅读全文 »

排序算法

发表于 2018-03-19 | 分类于 Algorithms | 本文字数: 17k | 阅读时长 ≈ 0:28

选择排序(Selection Sort)

选择排序算法通过重复查找未排序部分的最小元素(考虑升序)并将其放在开头来排序数组。算法在给定数组中维护两个子数组。

  • 已经排序好的子数组
  • 剩下未排序的子数组

在选择排序的每一次迭代中,挑选未排序子数组中的最小元素(考虑升序),并将其移至排序后的子数组中。

阅读全文 »

Reactive Programming

发表于 2018-03-15 | 分类于 Spring | 本文字数: 1.8k | 阅读时长 ≈ 0:03

前段时间,Spring 5的发布给我们带来了WebFlux模块,其主要核心是Reactive Programming。

在介绍WebFlux之前,我们需要一些背景知识。

Reactive Streams

Reactive Streams的目的是为非阻塞的异步流处理提供一个标准。

阅读全文 »
1…678…14
云逸云飞

云逸云飞

A Java Programmer

70 日志
8 分类
23 标签
RSS
GitHub E-Mail
© 2018 – 2019 云逸云飞