制作gogs Docker镜像

文章背景:由于网络原因访问Github经常不稳定,准备在公司部署一套基于Docker的Gogs服务,用于定时同步Github上的项目。
公司网络环境不能直接使用gogs项目中原本的构建流程,同时为了节省构建过程中下载依赖包花费的时间,考虑将其Dockerfile中编译环境和运行的构建步骤拆出来,制作成两个镜像放在私有仓库中,然后再基于制作好的镜像构建gogs镜像。本文详细记录了这一过程。

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs
能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
----gogs官方网站:https://gogs.io/docs/

官方文档说使用二进制安装非常方便,只需要下载编译好的二进制文件,启动服务就行。
按照循序渐进的原则,先在windows中用二进制安装,预览看看gogs到底有一些什么功能,安装是不是真的简单。

一、在window下安装gogs

  1. 下载压缩包
    在网找到Windows系统对应的安装包下载地址
    制作gogs Docker镜像_第1张图片
  2. 将压缩包解压,得到以下文件内容:
    制作gogs Docker镜像_第2张图片
    3.打开按win+R输入cmd打开命令行,cd进入gogs目录。
    例如我的gogs目录路径是D:\Program Files\gogs,首先执行D:回车进入D盘,再输入cd D:\Program Files\gogs,进入gogs目录
    制作gogs Docker镜像_第3张图片
    4.启动gogs服务,执行指令gogs web:
    制作gogs Docker镜像_第4张图片
    看到以上提示说明gogs启动成功,打开浏览器访问 locahost:3000 就能看到gogs的页面了。
    制作gogs Docker镜像_第5张图片
    根据页面提示进行后续的安装步骤,主要是一些配置内容,配置好后点击立即安装
    如果配置了管理员账户,安装完成后自动登录到管理员账户中,否则跳转到登录页面,第一个注册用户为管理员账户。
    为了安装的方便,数据库可以直接使用SQLite3,这样就不需要另外安装数据库应用。
    windows上的安装步骤就到这里了,主要是为了看一下gogs是个什么应用,大概有一些什么功能。

二、在windos下从源码安装

1. 首先准备环境

本机为win10,需要安装go语言。
a. 安装GO语言参考文档:http://c.biancheng.net/view/3992.html,这里就不详细介绍了。
Go语言下载地址:官方 https://golang.google.cn/dl/、 中国Golang社区 https://studygolang.com/dl
b. 安装git:下载地址:https://git-scm.com/

2. 克隆gogs项目源码

在bash中执行指令:git clone --depth 1 https://github.com/gogs/gogs.git gogs
制作gogs Docker镜像_第6张图片

3. 编译主程序

执行go build -o gogs 编译主程序
这个步骤会下载所有依赖。正常情况可以看到正在下载依赖包的输出内容:
制作gogs Docker镜像_第7张图片
也可能会出现指令执行后反应的现象,导致这个问题的原因有两个:
a. 下载go模块速度慢;
b. gcc没正确安装。

  1. 下载速度慢,设置go代理解决:
    执行go env可以查看go配置,将其修改为七牛云 https://goproxy.cn/提供的代理:

    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct
    

    制作gogs Docker镜像_第8张图片

  2. gcc没正确安装。
    gcc未安装报错:

    	cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in %PATH%
    

    gcc 版本不正确报错:

    cc1.exe: sorry, unimplemented: 64-bit mode not compiled in
    

    gcc 位数不对

    安装GCC参考文档:https://blog.csdn.net/xia_2017/article/details/105545789
    下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
    下载64位x86_64-posix-seh压缩包,解压后将bin目录配置到环境变量的path中,执行gcc -v可以看到gcc信息:

你可能感兴趣的:(docker,docker,学习,容器,go)