windows下使用docker搭建LAMP集成环境

前言:什么是Docker 

     Docker是基于容器的虚拟化技术(类似于虚拟机,但比虚拟机更加轻量级,且它和我们的宿主机共享硬件资源及操作系统),让开发者可以打包他们的应用到一个可移植的镜像中,然后发布或移植到任何 Linux或Windows 的主机上,节省了大量的环境部署时间和成本。

名词解释

  镜像(Image):镜像是一个特殊的文件系统,除了包含程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在实例化一个容器之后也不会被改变。

    容器(containers):是镜像的实例,同一个镜像文件可以实例化出多个容器,和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象。

注册 Docker 帐户

点此创建Docker ID。

Docker ID 授予你对Docker存储库的访问权限,并允许你下载或共享镜像。


安装windows版的docker:

https://docs.docker.com/desktop/windows/install/

下载完成后安装时注意,出现提示时,根据自身情况选择使用 WSL 2 或者 Hyper-V(笔者使用的是WSL 2)

安装完成后,点开右上角的设置,开始自检,如自检中提示未安装WSL2,点击提示框里的下载连接下载wsl_update_x64.msi后双击安装wsl组件即可。

如自检通过,任务栏中的docker鲸鱼图标会停止跳动。

打开cmd输入 docker -v,出现版本号即说明安装成功。

用docker安装LAMP


打开cmd输入:

   docker pull tutum/lamp

仓库里lamp镜像众多,其中tutum/lamp镜像较为出名,本文使用tutum/lamp作为基础镜像。

拉取完成后,输入下条语句,把镜像推送到系统注册表

docker push tutum/lamp


至此安装完成。

把LAMP镜像实例化为容器并启动

打开CMD,实例化为一个容器并启动

docker run -d -p 81:80 -p 3307:3306 tutum/lamp

参数解释:

-p, --publish=[], 指定容器对外的端口

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;


这里我们把81和3307端口与容器的80、3307端口绑定。

测试下,浏览器打开localhost:81,出现欢迎界面即说明部署成功


容器相关命令:

查看运行中的容器:docker ps 

查看全部容器:docker ps -a

启动容器:docker start 容器名称

关闭容器:docker stop 容器名称

删除容器:docker rm容器名称

(一定要是容器的名称,也就是 NAMES 下面的名称)

进入容器内部:docker exec -it 容器ID /bin/sh


进入容器内部后,就是和linux一样的操作了,输入ls即可查看目录文件,APP文件夹即为LAMP的WWW目录

至此,LAMP环境搭建完成。

你可能感兴趣的:(windows下使用docker搭建LAMP集成环境)