Tomcat 常用配置详解
Tomcat8 配置管理用户
1 | # 编辑Tomcat8对应的配置文件,在<tomcat-users>标签内添加以下内容,配置Tomcat的管理用户 |
Tomcat8 配置管理用户
1 | # 编辑Tomcat8对应的配置文件,在<tomcat-users>标签内添加以下内容,配置Tomcat的管理用户 |
Docker 四大网络模式
桥接模式、主机模式、容器模式、无网络模式
Docker 四大网络模式之一(bridge)
该模式是 Docker 的默认设置,Docker 守护进程创建了一个虚拟以太网桥 docker0,附加在其上的任何网卡之间都能自动转发数据包。默认情况下,守护进程会创建一对对等接口,将其中一个接口设置为容器的 eth0 接口,另一个接口放置在宿主机的命名空间中,从而将宿主机上的所有容器都连接到这个内部网络上。守护进程还会从网桥的私有地址空间中分配一个 IP 地址和子网给该容器。注意启动容器的时候需要指定 - p(固定端口分配) 或者 -P(动态端口分配)参数来暴露端口,否则 IP 数据包就不能从宿主机之外路由到容器中。
1 | # docker run -d -p 8888:8080 --net=bridge --name=tomcat8 tomcat:8 |
虚拟机与容器底层实现的对比
虚拟机与容器的底层实现原理是不同的,正如上图片的对比。虚拟机实现资源隔离的方法是利用一个独立的 Guest OS,并利用 Hypervisor 虚拟化 CPU、内存、IO 设备等实现的。例如,为了虚拟化内存,Hypervisor 会创建一个 shadow page table,正常情况下,一个 page table 可以用来实现从虚拟内存到物理内存的翻译。相比虚拟机实现资源和环境隔离的方案,Docker 就显得简练很多,它不像虚拟机一样重新加载一个操作系统内核,引导、加载操作系统内核是一个比较耗时而又消耗资源的过程,Docker 是利用 Linux 内核特性(LXC)实现的隔离,运行容器的速度几乎等同于直接启动进程。
前言
本教程实战演示基于 SVN + Jenkins + Maven + JDK + Docker 搭建 CI/CD 环境,其中 SVN 基于 Debian 镜像手动安装,而 Jenkins、Maven、JDK 则基于 Tomcat 镜像手动安装。如果仅为了快速体验使用 Jenkins 的功能,可以直接 Pull Jenkins 官方的 Docker 镜像,然后创建并启动 Docker 容器来体验 Jenkins 相关功能,此时可忽略下面教程中的大部分操作步骤。
Docker 环境安装与配置
基于 Docker 搭建 SVN 服务器
1 | # 拉取Debian镜像 |
Jenkins 相关站点
Jenkins 与 Hundson 介绍
Jenkins 与 Hundson 是目前最流行的持续集成及自动化部署工具,基于 Java 语言开发,二者师出同门。2009 年甲骨文收购了 Sun 公司并继承了 Hudson 代码库。在 2011 年年初,甲骨文和开源社区之间的关系破裂,该项目被分成两个独立的项目 Jenkins 和 Hundson。其中 Jenkins 的团队由大部分原始开发人员组成,Hudson 则由甲骨文公司继续管理,所以二者是非常相似的产品。Jenkins 可以整合 Subversion、Git、GitHub 等,而 Husband 同样也可以。其他优秀的持续集成工具还有 Strider、GitLab CI、TeamCity(JetBrains)、Travis CI、Codeship、Codefresh 等。
持续集成介绍
主流的 Docker 可视化管理工具
docker ui、shipyard、portainer
设置 Registry 登录密码
Docker 官方 Redis 镜像的使用说明文档
使用 Docker 官方的 Redis 镜像
1 | # 搜索所有可用的Redis镜像 |