www.adminn.cn
站长正能量分享网!

使用Docker快速搭建服务器环境进行项目部署

一.概述

阅读对象: 听说过容器技术, 没用过Docker , 有Linux基础的小伙伴.

关于什么是Docker,简单的说Docker就是现在最热门的容器引擎技术. 这里不再累赘介绍, 如果你听说过Docker, 那你肯定会听过 “镜像”, “容器” 之类的关键词. 不过, 这篇博客并不是系统地介绍 Docker 的基础知识. 实际上Docker的功能很强大,知识面也很广, 用一篇文章也不足以介绍docker. 这篇博客使用一个简单的示例, 给大家演示Docker怎么快速搭建服务器环境.

二.基础环境

Linux服务器 (CentOS , Ubuntu , Debian 等, 这里使用的是腾讯云服务器, 预装 Debian 9.0 操作系统)

Docker

三.操作流程

1. 安装Docker

docker公司提供了Docker EE(Enterprise Edition) 和 Docker CE (Community Edition)版本, EE 版本涉及商业服务. 而CE版本是Docker的免费产品, 包含了完整的Docker平台

我们可以从各个Linux发行版本的软件库中安装,也可以直接从官方提供的脚本安装,这样能安装最新的版本. 因为在国内, 我们可以直接通过阿里云镜像安装, 使用以下代码

安装完成之后我们可以使用以下命令查看Docker版本信息

我们可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,添加以下代码

重启Docker服务后,我们下载的官方镜像会从阿里云上去拉取,不过私人镜像还是从Docker官方的Dockerhub去拉取.Debian中使用以下代码重启Docker服务

2. 下载Docker镜像

目前比较热门的服务器是 Apache 和 Nginx ,实际上, 他们各自有优缺点, 不能说谁好谁坏, 适合自己的才是最好的. 今天我们基于PHP的官方Docker镜像 php-apache 来搭建apache服务器基础环境. 详细文档可以参考https://hub.docker.com/_/php

实际上,Dockerhub上官方的php-apache镜像扩展很少,很难满足实际项目中最基本的依赖需求.因此在 php:7.2-apache官方镜像的基础之上我安装了 gd 库(用来处理图片),并安装了 mysqli 和 pdo_mysql扩展,用来驱动 mysql数据库. 详细内容可以参考我的个人dockerhub仓库链接 https://hub.docker.com/r/jkdev/php

我们直接使用以下命令拉取自定义的镜像

3.创建Docker容器运行项目

我们在服务器上创建一个专门存放web项目的目录,如下代码

现在我们基于jkdev/php:7.2-apache镜像创建Docker容器,并把/www目录映射到docker中对应的apache的web项目目录. 如下代码:

命令与参数说明:

run: 代表运行一个容器

-d: 在后台运行容器

-p: 将宿主机端口与容器端口进行映射,格式为 :

–name: 指定容器的名称

-v: 将主机的目录与容器目录进行映射,格式为 :

4.运行项目

我们使用的镜像中,apache集成了php环境,所以基于此镜像启动的容器可以作为html代码和php代码的容器,并且向公网开放. 下面我们从github上拉取一个html简单项目,作为部署的网站

好了,现在我们打开浏览器,就可以看到我们部署的HTML静态界面了

四.总结

实际上,这篇博客并不是系统地介绍dcoker基础知识,只是使用简单演示一下docker的一个使用场景, 我们也能感受到docker部署项目的方便与快捷.

赞(0)
本文来源网络,如有侵权请联系677123@qq.com:站长分享圈 » 使用Docker快速搭建服务器环境进行项目部署