首頁>技術>

自動構建映象可以:

方便檢視 Dockerfile 。程式碼變化後倉庫會自動更新。連結GitHub

需要連結GitHub,這樣,GitHub那邊專案程式碼變化時,DockerHub這邊才能相應的被觸發。

官方的英文說明在這:

https://docs.docker.com/docker-hub/builds/link-source/

我操作過程中,也截圖了一部分:

因為已經操作過了,剩下的就將官網的2個圖放出下,按提示操作就可以了:

GitHub上建立專案

以教女朋友學web開發的專案 teaching_gf_web_develop 為例子

第1步: New repository

第2步:填寫專案資訊:

設定好後重新去寫相關的資訊,應該以後新的專案就不要再次設定了吧(未嘗試,主分支名這事件有興趣可以去搜索下Master 分支種族歧視這樣的字眼):

現在可以建立了。我以後會基於Codeigniter和vue(本文不包括進來),忽略檔案模板就選擇Codeigniter的好了。

現在這個專案部分就準備好了。

https://github.com/virhuiai/teaching_gf_web_develop.git
Docker Hub上新建Repository
https://hub.docker.com/repositories

名字也叫teaching_gf_web_develop.git吧

可以看到,這邊能看到我們在GitHub上的新建的這個專案了(需要連結過你的 Github),選中。

下邊有BUILD RULES:

我們可以再點下面的例子看看:

最終,我寫的是:

/^v[0-9.]+/
version-{\1}

這會直接點建立就好了,我們GitHub上的專案裡目前還沒有Dockerfile。下次提交的tag符合我們設定的正則就會觸發自動構建了。

git的tag提交

程式碼克隆下來,並新增Dockerfile檔案:

FROM php:7.4.8-apacheWORKDIR /var/www/html/RUN mkdir /virhuiai/ && \echo "#!/bin/bash" >> /virhuiai/initFirstPhp.sh && \echo "if [ ! -f '/virhuiai/index.php' ];then" >> /virhuiai/initFirstPhp.sh && \echo "  echo '<?php phpinfo();' > /var/www/html/index.php" >> /virhuiai/initFirstPhp.sh && \echo "fi" >> /virhuiai/initFirstPhp.sh

可以使用idea類的ide,

我們給它打上tag:

提交時勾上Tag,剛剛已經提交了忘記截圖,所以這會沒顯示什麼內容:

第一次時會要輸入GitHub的密碼:

Docker的自動構建:

這會到DockerHub上,

就可以看到在構建了:

這需要一會,再去看,就能看到成功了:

這時我們就能在本地拉取了:

啟動容器:

docker run -d -p 80:80 --name my-apache-php-app -v "$PWD":/var/www/html virhuiai/teaching_gf_web_develop:lasted

進入容器執行初始化一個顯示phpinfo()的指令碼,

docker exec -it 9716fb75aded /bin/sh
/bin/bash /virhuiai/initFirstPhp.sh

此時開啟本地瀏覽器就能看到效果:

19
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Linux實戰022:Ubuntu安裝Wine 6.0詳解