如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker
一.從github上下載代碼到本地
本次用到的示例是國(guó)外的低代碼平臺(tái)appsmith:
1.通過github指令獲取
右鍵點(diǎn)擊 Git Bash Here
輸入指令:
git clone
從github獲取請(qǐng)求鏈接
失敗示例(clone有時(shí)會(huì)超時(shí),需要多嘗試幾次才能把包獲取下來):
成功示例(看到日志全部是“done”后代表項(xiàng)目拉取成功):
2.通過zip的方式直接把包下載到本地
下載完成后會(huì)直接得到一個(gè)zip格式的包
解壓到本地的的代碼空間
3.區(qū)別
git clone + 復(fù)制下來的URL 下載出來的文件是帶有.git文件夾的
而通過直接下載ZIP包的話他是沒有自帶.git文件夾的,需要自己通過git init命令來初始化創(chuàng)庫(kù)
直接下載zip包:解壓即可用,單純的就是獲得了一個(gè)工程文件在本地,如果你想直接pull或者push到遠(yuǎn)程git倉(cāng)庫(kù)的話肯定都是不行的
git clone:git會(huì)先在你的當(dāng)前文件夾建立一個(gè)本地倉(cāng)庫(kù),然后再去復(fù)制這個(gè)工程,這個(gè)時(shí)候在這個(gè)文件夾下面就是可以直接git pull或者push的。
總結(jié):
如果你只是想下載工程文件自學(xué)研究代碼,那么直接下載zip會(huì)簡(jiǎn)單一些,如果你想往這個(gè)開源項(xiàng)目上添磚加瓦,那還是git clone會(huì)好一些
二.在代碼包找到docker-compose.yml文件
如果Windows本地沒有安裝docker可以看這篇文章:Windows安裝Docker
1.如果官網(wǎng)有提示路徑可以直接在文件夾找到這個(gè)文件
2.使用開發(fā)軟件打開項(xiàng)目查看(可用軟件搜索yml)
3.知識(shí)補(bǔ)充(yml文件編寫)
模板文件是使用 Docker-Compose 的核心,所以涉及到的指令關(guān)鍵字也比較多
默認(rèn)的模板文件名稱為 docker-compose.yml,格式為YAML 格式
一個(gè)docker-compose.yml 文件可以分為三層
本地端口和映射使用的端口是一個(gè),比如示例是80和443端口,必須確保端口沒有被占用才能在成功部署在docker上面
例:
#第一層 版本號(hào) version: "3" #代表使用docker-compose項(xiàng)目的版本號(hào) #第二層:services 服務(wù)配置 services: web: build: . ports: #宿主機(jī)和容器的端口映射 "80:80" "443:443" "9001:9001" volumes: ./stacks:/appsmith-stacks labels: com.centurylinklabs.watchtower.enable: "true" # 第三層 其他配置 網(wǎng)絡(luò)、卷、全局規(guī)劃
三.運(yùn)行docker-compose.yml文件到docker
1.創(chuàng)建一個(gè)文件夾放置docker-compose.yml文件
2.在docker配置國(guó)內(nèi)加速器
可以添加在Docker Engine下配置國(guó)內(nèi)加速器,添加在Docker Engine下
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
在[]里面的網(wǎng)址可以隨意更換為國(guó)內(nèi)鏡像源的網(wǎng)址,我這里用的是中國(guó)科技大學(xué)的鏡像源,
大家可以隨意選擇,填寫之后保存文件之后點(diǎn)擊Apply&restart重啟一下docker就完成配置了
docker中國(guó)官方:
https://registry.docker-cn.com中科大:
https://docker.mirrors.ustc.edu.cn網(wǎng)易:
http://hub-mirror.c.163.com阿里云:
https://{your_id}.mirror.aliyuncs.com
daocloud:
http://{your_id}.m.daocloud.io
3.右鍵windows 點(diǎn)擊Windows PowerShell(管理員)模式 輸入指令
看個(gè)人習(xí)慣可用CMD(管理員)模式
cd 到y(tǒng)ml放置路徑
- 啟動(dòng)指令
docker-compose up -d
- 停止指令
docker-compose down
例:
第一次啟動(dòng)docker會(huì)從鏡像下載依賴,網(wǎng)絡(luò)需要穩(wěn)定,會(huì)花費(fèi)一些時(shí)間,依賴下載完成以后下一次就可以很快啟動(dòng)了(網(wǎng)絡(luò)不穩(wěn)定可以多嘗試幾次)
4.文件夾權(quán)限
docker會(huì)在文件夾生成一個(gè)stacks來存儲(chǔ)數(shù)據(jù)依賴和日志
我們需要給予項(xiàng)目文件完全控制和修改的權(quán)限,沒有權(quán)限項(xiàng)目將無法訪問
打開瀏覽器輸入localhost,就會(huì)看到下面的頁面,appsmith啟動(dòng)成功了
5.異常示例
需要把占用端口的進(jìn)程pid掉,程序只能正常運(yùn)行
然后重新啟動(dòng)一次:docker-compose up -d
當(dāng)443端口被占用:
driver failed programming external connectivity on endpoint appsmith (b7139303035f81f1710277e689cf7011171d8b7a42e3de92ce00f05fc0ad0f0a): Bind for 0.0.0.0:443 failed: port is already allocated
輸入netstat -ano|findstr 查看端口占用的時(shí)候不用全部關(guān)掉,只需要把LISTENING的進(jìn)程停掉就可以了
例:taskkill -pid 21016 -f
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker遇到Intellij IDEA,Java開發(fā)提升了十倍生產(chǎn)力
這篇文章主要介紹了Docker遇到Intellij IDEA,Java開發(fā)提升了十倍生產(chǎn)力,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10一次dockerfile的循環(huán)依賴錯(cuò)誤實(shí)戰(zhàn)記錄
Dockerfile 是一個(gè)文本文件,其內(nèi)包含了一條條的指令,每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建,這篇文章主要介紹了使用Docker多階段構(gòu)建時(shí)遇到的循環(huán)依賴問題及其解決方法,,需要的朋友可以參考下2025-02-02docker將鏡像打包為.tar包實(shí)現(xiàn)方法
使用tar包格式進(jìn)行壓縮,方便在不同的docker主機(jī)之間進(jìn)行遷移和備份,下面這篇文章主要給大家介紹了關(guān)于docker將鏡像打包為.tar包的實(shí)現(xiàn)方法,需要的朋友可以參考下2024-07-07Docker?Desktop常見的幾種啟動(dòng)失敗問題解決方法
使用Docker Desktop 可以很方便的啟用 Kubernetes,下面這篇文章主要給大家介紹了關(guān)于Docker?Desktop常見的幾種啟動(dòng)失敗問題解決方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09解決docker鏡像(centos系統(tǒng))中無sudo命令問題
這篇文章主要介紹了解決docker鏡像(centos系統(tǒng))中無sudo命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-11-11Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析
這篇文章主要介紹了Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問題小結(jié))
這篇文章主要介紹了Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03docker python如何實(shí)現(xiàn)打包的方法
這篇文章主要介紹了docker 打包python實(shí)現(xiàn)方法的相關(guān)資料,這里說明如今實(shí)現(xiàn),需要的朋友可以參考下2016-12-12docker如何動(dòng)態(tài)查看日志最后100行
這篇文章主要介紹了docker如何動(dòng)態(tài)查看日志最后100行問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>2024-01-01