上一篇讲到如何安装docker与运行第一个容器
【初识docker之安装与运行第一个容器】
今天来在docker上配置xampp环境并且运行网页。
因为本机已经有在运行xampp了,所以先将其关闭,在xampp安装目录下的lampp目录,这里是opt/lampp目录下运行以下命令
sudo ./xampp stop首先查看我们拥有的容器,我们只有一个ubuntu的容器
sudo docker ps -a然后启动容器,这里需要复制上面的容器ID,作为参数启动
sudo docker start 448740dd258c容器已经正常启动了
使用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-linux-x64-7.4.4-1-installer.run安装完成,我们进入opt/lampp目录运行xampp试一下
./xampp start报错是因为容器没有安装对应的工具,比如net-tools,这里使用命令
apt-get upgrade apt-get install net-tools等待安装完成后,我们再次启动xampp
./xampp start好了
我们启动了xampp,可是我们发现还是无法正常访问网页。是因为docker的端口是随机映射的,而网页访问默认80端口,所以我们需要在启动时添加端口映射,但是docker容器一经启动,就很难修改端口映射,我们需要
保存当前容器为镜像利用镜像新建一个容器以端口映射方式新建容器首先退出并且关闭容器
exit sudo docker stop 448740dd258c然后导出容器镜像,执行下面的命令,导出名为 myimages的镜像
sudo docker commit 448740dd258c myimages执行并查看,发现增加一个镜像,是我们新导出的 利用镜像,以端口映射的方式创建容器,这里80端口映射到本机80,3306同理
sudo docker run -i -t -p 80:80 -p 3306:3306 myimages /bin/bash因为镜像已经安装xampp,我们直接启动xampp
再次访问我的云主机域名,因为宿主机已经关闭xampp,所以是容器在提供服务,说明配置成功 php配置也没问题