自動構建映象可以:
方便檢視 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
此時開啟本地瀏覽器就能看到效果:
最新評論