【Linux】使用docker搭建Apache/Nginx服务器

【Linux】使用docker搭建Apache/Nginx服务器

Hello,各位小伙伴们周五晚上好~

话说今天小编经历了一轮残酷的技术考核
在这里插入图片描述
被两位考官虐到怀疑人生…
在这里插入图片描述
吓得我赶紧写下了这篇文章压压惊。
在这里插入图片描述
今天我们一起来通过实验掌握docker的基本用法吧~


一、什么是docker?

Docker是一个开源的容器平台,使用容器镜像,可以轻松的创建虚拟化环境。

Docker的容器镜像是轻量的、可执行的独立软件包,包含了软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。

Docker跟我们常用的VMware功能很像,都是通过镜像来创建虚拟化环境。

Docker和VMware各有优势,对于我们安全从业人员而言,相较于VMware,docker创建虚拟化环境的速度更快,在Linux命令行界面下操作更加简便,可轻松地将虚拟化环境打包成镜像,也可通过镜像批量化生成多个虚拟环境。

我们直接从下面两个实验,来掌握docker的使用方法吧~


二、搭建Apache服务器

我们的实验环境为Centos7,使用Centos7搭建Ubuntu虚拟环境,并在Ubuntu中安装Apache服务器。

1、Centos7 安装 docker

  • yum update #更新软件源
  • yum upgrade #更新软件
  • yum -y install docker-io #安装docker
  • service docker start #启动docker服务

2、测试docker功能

docker run hello-world

Docker自带一个hello-world环境,我们可以启动这个环境,测试docker功能是否正常。

在这里插入图片描述

3、拉取Ubuntu镜像

首先我们需要先下载一个Ubuntu镜像。

搜索Ubuntu镜像,可以找到不同类型的Ubuntu镜像:

在这里插入图片描述

拉取18.04版本的Ubuntu镜像到本机:

在这里插入图片描述

通过docker images查看下载的镜像:

在这里插入图片描述

//这里可以看到镜像仅仅只要64.2MB,非常轻量化

4、创建虚拟环境

首先查看我们使用的容器的ID:
在这里插入图片描述

使用ID创建虚拟化环境:

docker run -it [image] /bin/bash
在这里插入图片描述

  • -i 以交互模式运行容器,通常与 -t 同时使用;
  • -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • -d 后台运行容器,并返回容器ID;
  • -p 随机端口映射,容器内部端口随机映射到主机的高端口;

如果不使用-d参数,使用该指令后,会直接进入容器

Apache服务默认为80端口,使用-p参数将80端口映射到Centos的8080端口,我们访问Centos的8080端口就相当于访问虚拟机的80端口了。

5、进入容器

首先我们ps查看一下后台运行的容器
在这里插入图片描述

可以看到容器ID为b978ca5d49de,映射端口为8080:80

使用容器ID进入容器:

docker exec -it [CONTAINER ID] bash
在这里插入图片描述

6、Apache2+php7环境搭建语句

  • apt-get update (更新软件列表)
  • apt-get install apache2(安装apache2)
  • apt-get install php7.0(安装php7)
  • apt-get install libapache2-mod-php(将php与apache关联)
  • service apache2 start(启动apache2服务)
  • service apache2 status(查看apache服务状态)

访问Centos的8080端口,通过地址转换到Ubuntu的80端口:
在这里插入图片描述

在/var/www/html/ 目录下创建一个test.php,内容如下:
在这里插入图片描述

访问一下,测试php功能是否正常:
在这里插入图片描述

这样我们就通过docker搭建了一个简单的Apache环境了~

7、其他操作

exit命令返回Centos,虚拟机依然在后台运行:
在这里插入图片描述
docker ps 查看后台运行的虚拟机:
在这里插入图片描述

//通过前面的exec命令,可再次进入容器

stop 命令停止容器:
在这里插入图片描述

docker ps -a 命令可以查看所有容器:
在这里插入图片描述

start 命令启动容器:
在这里插入图片描述

rm 删除容器:
在这里插入图片描述

//注意:删除一个容器时,需要先stop掉这个容器


三、搭建Nginx服务器

Ubuntu14.04.5+Nginx+php 环境

步骤与搭建Apache环境类似,这里就不再详细描述了,配置如下:

docker pull ubuntu:14.04.5(下载14.04.5版本ubuntu镜像)

在这里插入图片描述

docker run -d -it -p 本机端口:80 ubuntu:14.04.5 (启动镜像)
在这里插入图片描述
apt-get update (更新源)

apt-get install nginx (安装nginx)

service nginx start (启动nginx服务)

apt-get install php5-fpm (安装php5-fpm)

service php5-fpm start(启动php服务)

访问Centos 8082端口,Nginx安装成功:
在这里插入图片描述

在根目录/usr/share/nginx/html/ 中创建test.php :
在这里插入图片描述

配置Nginx可以解析php文件:

修改/etc/nginx/sites-available/defaule 文件:
在这里插入图片描述

重启Nginx服务:
在这里插入图片描述

访问test.php,php功能正常安装:
在这里插入图片描述

这样我们就完成了Nginx环境的简单搭建~


四、生成镜像

当我们使用镜像生成容器后,对容器进行的操作并不会影响镜像。

如果需要保存容器的配置,需要让容器反向生成镜像。(先stop掉,再封装)

以我们刚配置的Nginx环境为例:
在这里插入图片描述
stop掉容器:
在这里插入图片描述

容器生成镜像:

在这里插入图片描述

参数说明:
在这里插入图片描述

查看镜像:
在这里插入图片描述

使用这个镜像,我们就可以直接生成多个Nginx环境了~

五、Docker 配置总结

0、启动docker     service docker start
1、下载镜像:     docker pull ubuntu:18.04
2、查看下载的镜像:  docker images
3、查找镜像:     docker search ubuntu
4、构建容器:     docker run -it -d -p port:port [image] /bin/nash
5、启动容器:     docker start [容器id]
6、停止容器:     docker stop [容器id]
7、删除容器:     docker rm [容器id]
8、查看运行容器:   docker ps -a
9、进入容器:     docker exec -it 775c7c9ee1e1 bash


好啦,这就是今天的全部内容了,大家都明白了吗?
在这里插入图片描述

如有问题,欢迎到我的微信公众号留言哦~

Peace!
在这里插入图片描述

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值