这篇文章不是介绍DOCKER是什么,也不是阐述DOCKER的核心:镜像/容器和仓库之间的关系,它只是一篇让刚刚接触DOCKER的初学者,在没有完全了解DOCKER是什么之前,也能尽快的在Linux系统下面通过DOCKER来搭建一个LAMP环境,这是其一;其二才是我写这篇文章的初心,我觉得很多事情在你没有弄明白之前,从操作入手比一上来就研究各种原理相对来说会更自然,也更容易。
下面我们来讲一下如何在LINUX系统下面搭建LAMP(Linux+Apache+Mysql+Php)环境,我们可以想象一下通过虚拟机构建环境的过程;虚拟机搭建构造类似环境,它首先需要个虚拟机,然后在虚拟机里面通过镜像装一个操作系统,再在操作系统里面配置各种环境和应用程序;那DOCKER也差不多,DOCKER就好比虚拟机+镜像系统,DOCKER里面的镜像文件就好比虚拟机需要配置的各种环境,那镜像文件从哪里来呢?从DOCKER仓库。所以搭建一个LAMP环境,只需要先安装DOCKER,再从仓库去下载一个LAMP镜像文件,下载完之后,在DOCKER里面再去创建一个容器,把镜像放进去就可以了。
下面我们按照步骤一步一步来操作(我这边用的是CentOS7.5):
第一步,安装DOCKER;直接使用命令:
$ yum install docker
此命令的作用就是下载最新的DOCKER,下载完成之后,系统会提示complete;我们可以通过命令查看一下DOCKER的版本(顺便验证一下是否下载成功),只要安装成功,命令执行完就会有对应的DOCKER版本信息:
$ docker -v
第二步,安装好DOCKER之后,我们要把DOCKER启动起来,命令如下:
$ systemctl start docker.service(启动docker)
$ sytemctl enable docker.service/docker(启动开机启动,都执行一下。)
$ systemctl status docker.service(查看docker是否运行)
第三步,下载镜像文件;
如果直接从国外仓库(Docker Hub)去拉取(pull)镜像,直接执行以下命令就可以了:
$ docker pull 镜像名称
但是考虑到直接从国外镜像仓库拉取(pull)载镜像会很慢很慢,所以建议大家从国内供应商提供的镜像源去拉取(pull),具体方法就是配置” /etc/docker/daemon.json”这个文件;通过命令打开daemon.json文件,写入图片中的内容保存就可以了:
$ vi /etc/docker/daemon.json
第四步,拉取(pull)镜像文件之前,大家可以通过以下命令去拉取(pull)哪些star数量靠前的镜像文件,因为star越多,相对来说会更稳定更好用。因为我们要搭建LAMP,所以镜像文件名称制定LAMP就好了。
$ docker search -s 10 lamp(列取前10位的镜像)
第五步,拉取(pull)镜像 “http://docker.io/tutum/lamp(可以根据自己的需求来选取),这一步时间会比较长,做好准备,哈哈,要不你会以为它卡了。
$ docker pull http://docker.io/tutum/lamp
镜像拉取成功之后,我们再通过命令查看一下,是否存在刚才拉取的镜像:
$ docker images
第六步,创建容器,把镜像装起来,命令如下:
$ docker run -d --name=lamp -p 8080:80 -p 3306:3306 http://docker.io/tutum/lamp
run是创建容器的命令
-d 是后台运行容器,并返回容器ID
–name=lamp是指定容器名称为lamp
-p 8080:80 是把宿主机端口8080映射到容器80端口(WEB网站端口)
-P 3306:3306 把宿主机端口3306映射到容器3306端口(数据库端口)
http://docker.io/tutum/lamp 镜像文件名
到这一步容器就已经创建好了,也就是环境已经构建好了,我们用命令查看一下容器:
$ docker container ls
容器存在,此时通过以下命令进入容器:
$ docker exec -it lamp /bin/bash
$ ll(查看容器有哪些文件,是不是感觉就是小型的LINUXOS呢。。。。)
最后一步,访问网站测试一下是否配置成功:
公网IP:8080/index.php
这样一个LAMP环境就搭建好了,是不是非常简单!希望大家按照这个步骤走下来,之前对DOCKER的不了解,能有一种拨开云雾见月明的感觉。
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通
![](https://i-blog.csdnimg.cn/blog_migrate/381a8e3ec3a07f20433c717ec632278e.png)
二、接口自动化项目实战
三、Web自动化项目实战
![](https://i-blog.csdnimg.cn/blog_migrate/527e6ed0924e9d03d7d5268e754d335b.png)
四、App自动化项目实战
五、一线大厂简历
![](https://i-blog.csdnimg.cn/blog_migrate/dc993cad0d11ea10b4e1bcbb6c5578fc.png)
六、测试开发DevOps体系
七、常用自动化测试工具
![](https://i-blog.csdnimg.cn/blog_migrate/014e3127eff8824a6ed285f00783640b.png)
八、JMeter性能测试
九、总结(尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!