使用 Docker 搭建开发环境

做了一次分享,主题《使用 Docker 搭建开发环境》,简单介绍了一下 Docker 的概念,演示了使用 Docker-compose 构建全套 PHP 环境。

《使用 Docker 搭建开发环境》

《使用 Docker 搭建开发环境》

主要内容

  • 镜像、容器、仓库概念
  • 容器与虚拟机的区别
  • 使⽤ Docker 搭建 PHP 环境
  • 介绍 docker-compose

什么是 Docker?

Docker 是⼀个基于 Linux 内核的 cgroup,namespace,以及AUFS 类的 Union FS 等技术,对进程进⾏封装隔离,属于操作系统层⾯的虚拟化技术。

最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转⽽使⽤⾃⾏开发的 libcontainer,从 1.11 开始,则进⼀步演进为使⽤ runC 和 containerd。

Docker 在容器的基础上,进⾏了进⼀步的封装,从⽂件系统、⽹络互联到进程隔离等等,极⼤的简化了容器的创建和维护。使得 Docker 技术⽐虚拟机技术更为轻便、快捷。

Docker 应⽤场景

Docker 通常⽤于如下场景:

  • web应⽤的⾃动化打包和发布;
  • ⾃动化测试和持续集成、发布;
  • 在服务型环境中部署和调整数据库或其他的后台应⽤;
  • 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建⾃⼰的PaaS环境。

更多场景和优势

• 加速本地开发和构建流程,使其更加⾼效、更加轻量化
• 能够让独⽴服务或应⽤程序在不同的环境中,得到相同的运⾏结果
• ⽤ Docker 创建隔离的环境来进⾏测试
• Docker 可以让开发者先在本机构建⼀个复杂的程序或架构进⾏测试,⽽不是⼀开始就在⽣产环境部署、测试
• 构建⼀个多⽤户的平台即服务(PaaS)基础设施
• 为开发、测试提供⼀个轻量级的独⽴沙盒环境

Docker架构

《使用 Docker 搭建开发环境》

《使用 Docker 搭建开发环境》

Docker客户端和服务器

  • Docker 是⼀个 C/S 架构的程序。Docker 客户端向服务器或守护进程发出请求,服务器或守护进程将完成所有⼯作并返回结果
  • Docker 提供了⼀个命令⾏⼯具以及⼀整套 RESTful API
  • 可以在同⼀台宿主机上运⾏ Docker 守护进程,也可以从⼀个本地客户端运⾏另⼀台宿主机上远程 Docker 守护进程

Docker镜像、容器、仓库

  • 镜像是⼀个特殊的⽂件系统,提供容器运⾏所需的程序、⽂件、资源、配置,以及为运⾏时准备的配置参数(镜像

不是Dockerfile⽂件)

  • 容器是是镜像的⼀个实例,是⼀个动态的概念,是运⾏状态下的镜像,它可以被创建、启动、停⽌、删除。(进程

隔离)

  • 仓库是存放镜像的地⽅,如官⽅ Hub 仓库,上⾯有成千上万的镜像可以直接使⽤。

Docker-compose 介绍

Docker-compose 是 Docker 官⽅编排(Orchestration)项⽬之⼀,负责快速的部署分布式应⽤。

  • Docker Compose 是⼀个 Python 写的⽤来定义和运⾏复杂应⽤的 Docker ⼯具。
  • 使⽤ Compose 可以定义和运⾏多个 Docker 容器的应⽤,使⽤⼀条命令来启动所需应⽤,完成⼀切准备⼯作

使用 laradoc 搭建全套PHP环境步骤

仅需要三个步骤就完成了 PHP 全套环境的搭建,每次开机启动 PHP 环境也只需⼀个命令:

  • 克隆 laradock
  • 创建环境变量⽂件
  • 使⽤ docker-compose 启动所需服务

PPT 下载

点击下载:https://oddyzfr8z.qnssl.com/w…

《使用 Docker 搭建开发环境》

讲堂报名地址:https://segmentfault.com/l/15…

PHP笔试面试题精选(二)

课程简述

《PHP笔试面试题精选》课程系列分享关于 PHP 笔试面试会问到的一些问题和知识点,围绕 PHP、数据库、计算机网络、计算机操作系统、设计模式、WEB安全等多个方面进行。

课程内容

由于涉及到的问题和知识点比较多,本期主要讲 PHP基础、WEB安全、计算机网络三个方面有关的问题。

PHP基础方面

  • PSR规范
  • PHP新特性
  • PHP_FPM性能调优
  • Session垃圾回收机制

WEB安全

  • XSS攻击原理和防范
  • CSRF攻击原理和防范
  • SQL注入攻击防范
  • 密码哈希

计算机网络

  • HTTP协议
  • TCP/IP协议
  • WebSocket连接过程

讲堂报名地址:https://segmentfault.com/l/15…

    原文作者:纸牌屋弗兰克
    原文地址: https://segmentfault.com/a/1190000014059157
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞