如何将gitbub下载的docker-compose项目运行在docker
|
一.从github上下载代码到本地
本次用到的示例是国外的低代码平台appsmith:
GitHub - appsmithorg/appsmith: Framework to build admin panels, internal tools, and dashboards. Integrates with 15+ databases and any API.
1.通过github指令获取
右键点击 Git Bash Here
输入指令:
从github获取请求链接
失败示例(clone有时会超时,需要多尝试几次才能把包获取下来):
成功示例(看到日志全部是“done”后代表项目拉取成功):
2.通过zip的方式直接把包下载到本地
下载完成后会直接得到一个zip格式的包
解压到本地的的代码空间
3.区别
git clone + 复制下来的URL 下载出来的文件是带有.git文件夹的
而通过直接下载ZIP包的话他是没有自带.git文件夹的,需要自己通过git init命令来初始化创库
直接下载zip包:解压即可用,单纯的就是获得了一个工程文件在本地,如果你想直接pull或者push到远程git仓库的话肯定都是不行的
git clone:git会先在你的当前文件夹建立一个本地仓库,然后再去复制这个工程,这个时候在这个文件夹下面就是可以直接git pull或者push的。
总结:
如果你只是想下载工程文件自学研究代码,那么直接下载zip会简单一些,如果你想往这个开源项目上添砖加瓦,那还是git clone会好一些
二.在代码包找到docker-compose.yml文件
如果Windows本地没有安装docker可以看这篇文章:Windows安装Docker
1.如果官网有提示路径可以直接在文件夹找到这个文件
2.使用开发软件打开项目查看(可用软件搜索yml)
3.知识补充(yml文件编写)
模板文件是使用 Docker-Compose 的核心,所以涉及到的指令关键字也比较多
默认的模板文件名称为 docker-compose.yml,格式为YAML 格式
一个docker-compose.yml 文件可以分为三层
本地端口和映射使用的端口是一个,比如示例是80和443端口,必须确保端口没有被占用才能在成功部署在docker上面
例:- #第一层 版本号
- version: "3" #代表使用docker-compose项目的版本号
- #第二层:services 服务配置
- services:
- web:
- build: .
- ports: #宿主机和容器的端口映射
- "80:80"
- "443:443"
- "9001:9001"
- volumes:
- ./stacks:/appsmith-stacks
- labels:
- com.centurylinklabs.watchtower.enable: "true"
- # 第三层 其他配置 网络、卷、全局规划
复制代码 三.运行docker-compose.yml文件到docker
1.创建一个文件夹放置docker-compose.yml文件
2.在docker配置国内加速器
可以添加在Docker Engine下配置国内加速器,添加在Docker Engine下
- {
- "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
- }
复制代码 在[]里面的网址可以随意更换为国内镜像源的网址,我这里用的是中国科技大学的镜像源,
大家可以随意选择,填写之后保存文件之后点击Apply&restart重启一下docker就完成配置了- docker中国官方:https://registry.docker-cn.com
- 中科大:https://docker.mirrors.ustc.edu.cn
- 网易:http://hub-mirror.c.163.com
- 阿里云:https://{your_id}.mirror.aliyuncs.comdaocloud:http://{your_id}.m.daocloud.io
复制代码
3.右键windows 点击Windows PowerShell(管理员)模式 输入指令
看个人习惯可用CMD(管理员)模式
cd 到yml放置路径
例:
第一次启动docker会从镜像下载依赖,网络需要稳定,会花费一些时间,依赖下载完成以后下一次就可以很快启动了(网络不稳定可以多尝试几次)
4.文件夹权限
docker会在文件夹生成一个stacks来存储数据依赖和日志
我们需要给予项目文件完全控制和修改的权限,没有权限项目将无法访问
打开浏览器输入localhost,就会看到下面的页面,appsmith启动成功了
5.异常示例
需要把占用端口的进程pid掉,程序只能正常运行
然后重新启动一次:docker-compose up -d
当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 查看端口占用的时候不用全部关掉,只需要把LISTENING的进程停掉就可以了
例:taskkill -pid 21016 -f
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/server/321087lcu.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
发表于 2024-5-26 04:02:45
举报
回复
分享
|
|
|
|