0x00 概述 既然 Docker 是一款实用软件,我们就不得不先从它的安装说起,只有让 Docker 运行在我们的计算机上,才能更方便我们对 Docker 相关知识和使用方式的学习.得益于与商业性的优雅结合,Docker 背后拥有大量的优秀开发者为其提供技术支持,而这个优势所造就的结果之一,就是 Docker 拥有丰富且完善的安装体系,我们可以很轻松的通过多种方式安装和运行 Docker. 0x01 安装前的准备 由于 Docker 容器实现本身就采用了 Linux 内核中很多的特性,所以它自…
Docker仓库服务器名为Docker注册(registry)服务器.可以使用docker push命令将镜像上传到注册服务器,也可以使用docker pull命令下载服务器的镜像. Docker注册服务器中有多种存储镜像数据的方法,可以存储到执行Docker注册的服务器,也可以存储到阿里云提供的容器镜像服务上面(推荐,简单易用). 1. 创建注册服务器容器 Docker注册服务器其实也是Docker Hub提供的Docker镜像.首先需要下载Docker注册服务器: sudo docker p…
0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务. 对我们而言,Tomcat 无疑是最常见的 Servlet 容器,所以在这个小节里,我们来搭建一个以 Tomcat 为核心的 Web 应用运行环境. 在这个环境中,我们还要组合进 MySQL 作为数据存储,Redis 作为 KV 存储. 0x01 定义项目结构 与之前我们提及的一样,要搭建这样的由多个程序…
前言 当我们在一台电脑上搭建了python3.6的环境,下次换了个电脑,或者换成linux的系统了,又得重新搭建一次,设置环境变量.下载pip等操作. 好不容易安装好,一会Scrips目录找不到pip.exe,一会提示pip不是内部或外部命令,一会又提示pip: command not found,想死的心都有了. 搭建环境成为不少小伙伴学习的障碍,从今天开始学好docker,环境问题从此和你说再见~~~ search搜索镜像 docker search : 从Docker Hub(https:…
前言 Docker不仅是一个强大的服务器部署工具,而且它还有一个官方的Docker Hub registry用于储存Docker镜像.上传镜像到Docker Hub是免费的,上传的镜像文件同时也对公共领域开放,而这可能不是我们想要的. 本文介绍如何配置一个私有的Docker registry,在此上传的镜像是私密的,你可以从另一个联网的主机以安全的方式下载此registry上的镜像. 本文仅介绍registry的创建,而不讨论应用的容器化.有关Docker镜像创建的操作可参考这篇Docker入门…
前言 bug管理系统是每个公司测试团队必备的,当去一个新的公司组建一个测试团队的时候,需快读搭建一套bug管理系统,使用docker搭建禅道就非常方便. 拉取镜像 先拉取zentao镜像,镜像地址https://hub.docker.com/r/idoop/zentao docker pull 拉取镜像 docker pull idoop/zentao 启动容器 创建本地目录 mkdir -p /data/zbox 启动容器 docker run -d -p 8080:80 -p 3316:33…
0x00 概述 通过阅读之前的小节,相信大家对 Docker 在开发中的应用已经有了一定的了解.作为一款实用的软件,我们必须回归到实践中来,这样才能更好地理解 Docker 的实用逻辑和背后的原理.在这一小节里,我们就举一个完整的例子,让大家跟随这个项目的脉络,熟悉如何通过 Docker 和 Docker Compose 来搭建应用开发环境. 0x01 设计项目的目录结构 在这一小节里,我们以一个由 MySQL.Redis.PHP-FPM 和 Nginx 组成的小型 PHP 网站为例,介绍通过…
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能组成的.虽然我们之前提到了容器间互相连接.交换数据的各种方法,通过这些方法足以搭建起完整的用于应用系统运行的容器群,但是这显然还不够,这个容器群的搭建需要执行太多命令,更重要的是需要考虑太多应用和容器间的依赖关系处理,是一波令人头大的操作.在这一节中,我们就来介绍如何解决这些问题. 0x01 解决容…
0x00 概述 自己编写 Dockerfile 能够很好的实现我们想要的程序运行环境,不过如果装有我们想要环境的镜像已经由热心的开发者构建好并共享在 Docker Hub 上,直接使用它们就会远比自己编写 Dockerfile 并进行构建要来的简单的多了.事实上,在开发过程中我们用到的镜像大部分还是直接采用 Docker Hub 中已经存在的镜像的,即使自己编写 Dockerfile,也只是对已有镜像进行简单的改动,很少会从零开始搭建镜像.在这一节中,我们要来看看如何更好地使用 Docker H…
1. 什么Docker? Docker是一个能把开发的应用程序自动部署到容器的引擎,它使用go语言编写的开源引擎,它在github上面个的地址为:https://github.com/docker/docker. 在2013年初由dotCloud开发的基于Apache 2.0 开源授权协发行的引擎.提供一个轻量高效的应用测试,部署环境. 2. Docker的目标 1. 提供简单轻量的建模方式 2. 职责的逻辑分离 3. 快速高效的开发生命周期 4. 鼓励使用面向服务的架构 3. Docker的使…