如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker
一.從github上下載代碼到本地
本次用到的示例是國(guó)外的低代碼平臺(tái)appsmith:
1.通過(guò)github指令獲取
右鍵點(diǎn)擊 Git Bash Here

輸入指令:
git clone

從github獲取請(qǐng)求鏈接

失敗示例(clone有時(shí)會(huì)超時(shí),需要多嘗試幾次才能把包獲取下來(lái)):

成功示例(看到日志全部是“done”后代表項(xiàng)目拉取成功):

2.通過(guò)zip的方式直接把包下載到本地

下載完成后會(huì)直接得到一個(gè)zip格式的包

解壓到本地的的代碼空間
3.區(qū)別
git clone + 復(fù)制下來(lái)的URL 下載出來(lái)的文件是帶有.git文件夾的

而通過(guò)直接下載ZIP包的話他是沒有自帶.git文件夾的,需要自己通過(guò)git init命令來(lái)初始化創(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來(lái)存儲(chǔ)數(shù)據(jù)依賴和日志

我們需要給予項(xiàng)目文件完全控制和修改的權(quán)限,沒有權(quán)限項(xiàng)目將無(wú)法訪問(wèn)

打開瀏覽器輸入localhost,就會(huì)看到下面的頁(yè)面,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)依賴問(wèn)題及其解決方法,,需要的朋友可以參考下2025-02-02
docker將鏡像打包為.tar包實(shí)現(xiàn)方法
使用tar包格式進(jìn)行壓縮,方便在不同的docker主機(jī)之間進(jìn)行遷移和備份,下面這篇文章主要給大家介紹了關(guān)于docker將鏡像打包為.tar包的實(shí)現(xiàn)方法,需要的朋友可以參考下2024-07-07
Docker?Desktop常見的幾種啟動(dòng)失敗問(wèn)題解決方法
使用Docker Desktop 可以很方便的啟用 Kubernetes,下面這篇文章主要給大家介紹了關(guān)于Docker?Desktop常見的幾種啟動(dòng)失敗問(wèn)題解決方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
解決docker鏡像(centos系統(tǒng))中無(wú)sudo命令問(wèn)題
這篇文章主要介紹了解決docker鏡像(centos系統(tǒng))中無(wú)sudo命令問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-11-11
Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析
這篇文章主要介紹了Docker默認(rèn)網(wǎng)段修改實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問(wèn)題小結(jié))
這篇文章主要介紹了Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
docker run -e傳遞環(huán)境變量的過(guò)程
這篇文章主要介紹了docker run -e傳遞環(huán)境變量的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
docker python如何實(shí)現(xiàn)打包的方法
這篇文章主要介紹了docker 打包python實(shí)現(xiàn)方法的相關(guān)資料,這里說(shuō)明如今實(shí)現(xiàn),需要的朋友可以參考下2016-12-12
docker如何動(dòng)態(tài)查看日志最后100行
這篇文章主要介紹了docker如何動(dòng)態(tài)查看日志最后100行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教<BR>2024-01-01

