在docker中部署xampp 步骤与问题解决方案总结

目录

  • 关闭本机xampp
  • 开启容器
  • 复制xampp安装包到容器
  • 安装xampp
  • 端口映射

上一篇讲到如何安装docker与运行第一个容器

【初识docker之安装与运行第一个容器】

今天来在docker上配置xampp环境并且运行网页。

关闭本机xampp

因为本机已经有在运行xampp了,所以先将其关闭,在xampp安装目录下的lampp目录,这里是opt/lampp目录下运行以下命令

sudo ./xampp stop

在docker中部署xampp 步骤与问题解决方案总结_第1张图片

开启容器

首先查看我们拥有的容器,我们只有一个ubuntu的容器

sudo docker ps -a

在这里插入图片描述
然后启动容器,这里需要复制上面的容器ID,作为参数启动

sudo docker start 448740dd258c

在这里插入图片描述
容器已经正常启动了

复制xampp安装包到容器

使用docker 的 cp 命令

docker cp 主机目录/文件名 容器ID:容器目录/文件名	#将【主机目录或者文件】拷贝到目标容器的目标路径
docker cp 容器ID:容器目录/文件名 主机目录/文件名	#将【目标容器的目录或者文件】拷贝到主机目录

我们复制主机的xampp安装文件到容器,这里我安装文件放在opt目录下,同样放到容器的opt目录下

sudo docker cp /opt/xampp-linux-x64-7.4.4-1-installer.run 448740dd258c:/opt

我们进入容器,查看文件,已经复制完成了。
在这里插入图片描述

安装xampp

在容器目录下执行以下命令即可

./xampp-linux-x64-7.4.4-1-installer.run

安装完成,我们进入opt/lampp目录运行xampp试一下

./xampp start

在docker中部署xampp 步骤与问题解决方案总结_第2张图片
报错是因为容器没有安装对应的工具,比如net-tools,这里使用命令

apt-get upgrade
apt-get install net-tools

等待安装完成后,我们再次启动xampp

./xampp start

在docker中部署xampp 步骤与问题解决方案总结_第3张图片
好了

端口映射

我们启动了xampp,可是我们发现还是无法正常访问网页。是因为docker的端口是随机映射的,而网页访问默认80端口,所以我们需要在启动时添加端口映射,但是docker容器一经启动,就很难修改端口映射,我们需要

  1. 保存当前容器为镜像
  2. 利用镜像新建一个容器
  3. 以端口映射方式新建容器

首先退出并且关闭容器

exit
sudo docker stop 448740dd258c

在docker中部署xampp 步骤与问题解决方案总结_第4张图片
然后导出容器镜像,执行下面的命令,导出名为 myimages的镜像

sudo docker commit 448740dd258c myimages

执行并查看,发现增加一个镜像,是我们新导出的
在docker中部署xampp 步骤与问题解决方案总结_第5张图片
利用镜像,以端口映射的方式创建容器,这里80端口映射到本机80,3306同理

sudo docker run -i -t -p 80:80 -p 3306:3306 myimages /bin/bash

因为镜像已经安装xampp,我们直接启动xampp
在docker中部署xampp 步骤与问题解决方案总结_第6张图片

再次访问我的云主机域名,因为宿主机已经关闭xampp,所以是容器在提供服务,说明配置成功
在docker中部署xampp 步骤与问题解决方案总结_第7张图片
php配置也没问题
在docker中部署xampp 步骤与问题解决方案总结_第8张图片

你可能感兴趣的:(杂记,docker,linux,ubuntu,xampp)