天天看點

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

目錄

  • 關閉本機xampp
  • 開啟容器
  • 複制xampp安裝包到容器
  • 安裝xampp
  • 端口映射

上一篇講到如何安裝docker與運作第一個容器

【初識docker之安裝與運作第一個容器】

今天來在docker上配置xampp環境并且運作網頁。

關閉本機xampp

因為本機已經有在運作xampp了,是以先将其關閉,在xampp安裝目錄下的lampp目錄,這裡是opt/lampp目錄下運作以下指令

sudo ./xampp stop
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

開啟容器

首先檢視我們擁有的容器,我們隻有一個ubuntu的容器

sudo docker ps -a
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

然後啟動容器,這裡需要複制上面的容器ID,作為參數啟動

sudo docker start 448740dd258c
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

容器已經正常啟動了

複制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
           

我們進入容器,檢視檔案,已經複制完成了。

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

安裝xampp

在容器目錄下執行以下指令即可

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

安裝完成,我們進入opt/lampp目錄運作xampp試一下

./xampp start
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

報錯是因為容器沒有安裝對應的工具,比如net-tools,這裡使用指令

apt-get upgrade
apt-get install net-tools
           

等待安裝完成後,我們再次啟動xampp

./xampp start
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

好了

端口映射

我們啟動了xampp,可是我們發現還是無法正常通路網頁。是因為docker的端口是随機映射的,而網頁通路預設80端口,是以我們需要在啟動時添加端口映射,但是docker容器一經啟動,就很難修改端口映射,我們需要

  1. 儲存目前容器為鏡像
  2. 利用鏡像建立一個容器
  3. 以端口映射方式建立容器

首先退出并且關閉容器

exit
sudo docker stop 448740dd258c
           
在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

然後導出容器鏡像,執行下面的指令,導出名為 myimages的鏡像

sudo docker commit 448740dd258c myimages
           

執行并檢視,發現增加一個鏡像,是我們新導出的

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

利用鏡像,以端口映射的方式建立容器,這裡80端口映射到本機80,3306同理

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

因為鏡像已經安裝xampp,我們直接啟動xampp

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

再次通路我的雲主機域名,因為主控端已經關閉xampp,是以是容器在提供服務,說明配置成功

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

php配置也沒問題

在docker中部署xampp 步驟與問題解決方案總結關閉本機xampp開啟容器複制xampp安裝包到容器安裝xampp端口映射

繼續閱讀