如何将gitbub下载的docker-compose项目运行在docker

 更新时间:2024年05月14日 10:12:48   作者:辰远YIL  
这篇文章主要介绍了如何将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 

输入指令:

git clone

 从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.com
daocloud:
http://{your_id}.m.daocloud.io

3.右键windows 点击Windows PowerShell(管理员)模式 输入指令

 看个人习惯可用CMD(管理员)模式

 cd 到yml放置路径

  • 启动指令
docker-compose up -d 
  • 停止指令
docker-compose down

例:

第一次启动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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker遇到Intellij IDEA,Java开发提升了十倍生产力

    Docker遇到Intellij IDEA,Java开发提升了十倍生产力

    这篇文章主要介绍了Docker遇到Intellij IDEA,Java开发提升了十倍生产力,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 一次dockerfile的循环依赖错误实战记录

    一次dockerfile的循环依赖错误实战记录

    Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建,这篇文章主要介绍了使用Docker多阶段构建时遇到的循环依赖问题及其解决方法,,需要的朋友可以参考下
    2025-02-02
  • docker将镜像打包为.tar包实现方法

    docker将镜像打包为.tar包实现方法

    使用tar包格式进行压缩,方便在不同的docker主机之间进行迁移和备份,下面这篇文章主要给大家介绍了关于docker将镜像打包为.tar包的实现方法,需要的朋友可以参考下
    2024-07-07
  • Docker Desktop常见的几种启动失败问题解决方法

    Docker Desktop常见的几种启动失败问题解决方法

    使用Docker Desktop 可以很方便的启用 Kubernetes,下面这篇文章主要给大家介绍了关于Docker Desktop常见的几种启动失败问题解决方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 解决docker镜像(centos系统)中无sudo命令问题

    解决docker镜像(centos系统)中无sudo命令问题

    这篇文章主要介绍了解决docker镜像(centos系统)中无sudo命令问题,具有很好的参考价值,希望对大家有所帮助,
    2023-11-11
  • Docker默认网段修改实现方法解析

    Docker默认网段修改实现方法解析

    这篇文章主要介绍了Docker默认网段修改实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Docker安装阿里云服务器和在虚拟机安装遇到的坑(问题小结)

    Docker安装阿里云服务器和在虚拟机安装遇到的坑(问题小结)

    这篇文章主要介绍了Docker安装阿里云服务器和在虚拟机安装遇到的坑,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker run -e传递环境变量的过程

    docker run -e传递环境变量的过程

    这篇文章主要介绍了docker run -e传递环境变量的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • docker python如何实现打包的方法

    docker python如何实现打包的方法

    这篇文章主要介绍了docker 打包python实现方法的相关资料,这里说明如今实现,需要的朋友可以参考下
    2016-12-12
  • docker如何动态查看日志最后100行

    docker如何动态查看日志最后100行

    这篇文章主要介绍了docker如何动态查看日志最后100行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教<BR>
    2024-01-01

最新评论