目錄
- 關閉本機xampp
- 開啟容器
- 複制xampp安裝包到容器
- 安裝xampp
- 端口映射
上一篇講到如何安裝docker與運作第一個容器
【初識docker之安裝與運作第一個容器】
今天來在docker上配置xampp環境并且運作網頁。
關閉本機xampp
因為本機已經有在運作xampp了,是以先将其關閉,在xampp安裝目錄下的lampp目錄,這裡是opt/lampp目錄下運作以下指令
sudo ./xampp stop
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLwYTO3UDMxITMxAzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
開啟容器
首先檢視我們擁有的容器,我們隻有一個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
報錯是因為容器沒有安裝對應的工具,比如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配置也沒問題