0%


#### Docker新建并启动容器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 语法
# docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

# 新建并以交互式启动centos容器,并为容器重新分配一个伪输入终端,同时指定容器名称
# docker run -it --name="centos" centos /bin/bash

# 新建并后台启动centos容器,如果启动后的容器内部没有前台运行的进程,容器默认会马上停止
# docker run -d centos

# 参数OPTIONS
# --name="new-name" 或者 --name new-name:为容器指定一个名称,该名称会在执行"docker ps"的时候显示出来
# -d:后台启动容器,并返回容器ID,即启动守护式容器
# -i:以交互式运行容器,通常与-t同时使用
# -t:为容器重新分配一个伪输入终端,通常与-i同时使用
# -P:随机端口映射
# -p:指定端口映射,有四种格式:ip:hostport:containerport、ip::containerport、hostport:containerport、containerport
# --privileged=true:使用该参数指定容器内的root拥有真正的root权限,false代表容器内的root只拥有外部宿主机的一个普通用户权限
阅读全文 »


#### Docker帮助命令
1
2
3
4
5
6
7
8
9
10
11
12
# 查看Docker的版本
# docker version

# 查看Docker的详细信息
# docker info

# 查看Docker的命令帮助手册
# docker --help

# 查看Docker具体某个操作的命令帮助手册
# docker images --help
# docker search --help
阅读全文 »

Github 项目地址

前言

与以前相比,Incubator Dubbo Ops 项目中 master 分支的代码进行了大量重构,重构之后的代码目前在 develop 分支;同时 develop 分支的部署方式发生了不少变化,主要体现在 develop 分支采用了前后端分离的部署方式,下面将会分别详细介绍 master 与 develop 分支具体的部署方式。此教程的创建日期为 2018-12-20,由于官方项目正在不断迭代开发中,因此此教程在日后可能与官方的最新代码不同步,一切以官方的 Github 说明文档为准。

incubator-dubbo-ops master 分支(截止 2018-12-20)

incubator-dubbo-ops-master

阅读全文 »

单一应用架构

all-in-one

  • 优点
    1. 简单实用、便于维护,开发成本较低
  • 缺点
    1. 部署麻烦,添加、修改个别模块功能,需要重新将所有模块的代码部署到各个服务器
    2. 单台服务器的性能有限,不适合对外提供所有模块功能
    3. 存在单点故障问题
  • 关键点
    1. 数据访问框架(ORM)
      阅读全文 »

Spring Boot 配置

邮件发送

在本地开发环境测试,Spring Boot 能够正常发送邮件,但部署到阿里云 ECS 服务器以后,一直没有收到邮件,部分关键日志信息如下:

1
2
3
4
5
6
7
8
org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: 连接超时 (Connection timed out). Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: 连接超时 (Connection timed out)
at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:447)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:322)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:311)

从现有情况看,跟程序运行环境有关,查看相关资料,发现在阿里云 ECS 服务器上,默认禁用了 25 端口,所以在通过 25 端口去连接邮件服务器时,无法连上,就报超时了。官方建议使用 465 端口,而 456 端口是 SSL 协议的,所以不仅要换端口,还需要进行 SSL 协议替换。下面是在 application.properties 进行的邮件发送相关配置,经过这样配置后,在阿里 ECS 上就能够正常发送邮件了

阅读全文 »

SpringBoot

SpringBoot 站点
SpringBoot 特性
  1. 创建独立的 Spring 应用程序
  2. 嵌入的 Tomcat,无需部署 WAR 文件,适用于准生产环境
  3. 简化 Maven 配置
  4. 自动配置 Spring
  5. 提供生产就绪型功能,如指标、健康检查、外部配置
  6. 开箱即用,无需 XML 配置
阅读全文 »