Gogs的Docker容器化部署流程遇到的问题

 

  最近在学习CI/CD的一些方案,个人比较青睐容器化轻量级。CI方面一开始是想使用gitlab的,但是发现我自己买的服务器配置太低,内存根本不够(大写的尴尬)。所以采用更轻量级的Gogs,我真的很懒,只有在遇到挫折了才会想着把它记下来,平时很多时候都是没有做笔记的习惯的(吱吱)。这次之所以写这篇笔记,是因为部署Gogs过程遇到了几个小坑,浪费了我不少时间,所以希望能帮助到大家,不要走这样的坑~~言归正传

环境搭建过程

1. 安装部署gogs很简单,网上一大堆帖子,这里不再赘述,简单发下我启动gogs的命令吧:

 1 # !/bin/bash
2
3 docker run -d \
4 -p 10080:3000 \
5 -p 10022:22 \
6 --net backend \
7 --name gogs \
8 -v /data/docker/container/gogs/data:/data/gogs/data \
9 -v /data/docker/container/gogs/conf:/data/gogs/conf \
10 -v /data/docker/container/gogs/log:/data/gogs/log \
11 gogs/gogs

简单说明下,端口映射我跟网上大部分帖子一样,都是映射到10080和10022端口,和mysql的连接方式还是使用docker的自定义网卡backend,其他的数据卷自己根据需要映射下呗

2. 启动gogs后接下来就是访问ip+10080端口,首次访问会跳到配置页面

图片是我从网上复制过来的,我使用的mysql是5.6版,所以mysql容器名我叫mysql56

3. 好了,正常情况下是可以了,接下来是我遇到的坑

  1. HTTP端口号这里的配置,我当时配置成10080,所以导致了每次容器重启就会访问不了,其实这里填的是docker内部的端口号3000!

  2. window7用户,git在使用过程中,使用ssh方式拉取代码,按照网上教程是将本地.ssh目录的id_rsa.pub文件内容复制到gogs后台的安全密钥中,但是还是提示没有权限,后面发现我们需要启动ssh代理并将密钥添加到代理缓存中才可以:

  

eval `ssh-agent -s`   //window用户才需要加eval
eval `ssh-add ~/id_rsa`

  然后就可以了,后续如果还有什么问题我再补充吧,我就遇到这两个问题

Gogs的Docker容器化部署流程遇到的问题的更多相关文章

  1. spring boot本地开发与docker容器化部署的差异

    spring boot本地开发与docker容器化部署的差异: 1. 文件路径及文件名区别大小写: 本地开发环境为windows操作系统,是忽略大小写的,但容器中区分大小写 2. docker中的容器 ...

  2. ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx

    一.前言 在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core ...

  3. Docker容器化部署Python应用

    1. 简介 Docker是目前主流IT公司广泛接受和使用的,用于构建.管理和保护它们应用程序的工具. 容器,例如Docker允许开发人员在单个操作系统上隔离和运行多个应用程序,而不是为服务器上的每个应 ...

  4. Docker 容器化部署1小时简单入门

    Docker简介 Docker是DotCloud开源的.可以将任何应用包装在Linux container中运行的工具.2013年3月发布首个版本,当前最新版本为1.3.Docker基于Go语言开发, ...

  5. Docker 容器化部署 Python 应用

    Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. 在本篇中,我将介绍如 ...

  6. network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题

    在Docker中,有时候出现 ports:   - 20880:20880 Dobbo通信出现问题. 此时应该改成 network_node:host 注释 ports!

  7. 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署

    通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...

  8. docker容器化python服务部署(supervisor-gunicorn-flask)

    docker容器化python服务部署(supervisor-gunicorn-flask) 本文系作者原创,转载请注明出处: https://www.cnblogs.com/further-furt ...

  9. Azure Devops实践(5)- 构建springboot项目打包docker镜像及容器化部署

    使用Azure Devops构建java springboot项目,创建镜像并容器化部署 1.创建一个springboot项目,我用现有的项目 目录结构如下,使用provider项目 在根目录下添加D ...

随机推荐

  1. Html介绍,认识html文件基本结构

    一个HTML文件的基本机构如下: <html><head>...</head><body>...</body></html>代码 ...

  2. 9款最好用的MySQL数据库客户端图形界面管理工具,第三款我用了10年

    MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...

  3. Page Visibility API

    在code review时看见同事使用visibilitychange 事件来监听页面的隐藏与显示,之前没有了解过这块,学习一下. document.visibilityState 主要有以下3个状态 ...

  4. JavaSE学习笔记(7)---数组

    JavaSE学习笔记(7)---数组 1.什么是数组 数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个 ...

  5. Avro介绍

    Avro介绍   Apache Avro是一个数据序列化系统. Avro所提供的属性: 1.丰富的数据结构2.使用快速的压缩二进制数据格式3.提供容器文件用于持久化数据4.远程过程调用RPC5.简单的 ...

  6. Spark性能优化指南——初级篇

    原文来我的公众号:Spark性能优化指南——初级篇 一. Spark作业原理 我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程.该进程是向集群管理 ...

  7. linux(服务器)如何确认网卡(网口)对应的配置文件

    服务器装完系统就要配置网络,然而服务器经常是多网卡多网口,我们在某个网口插上网线后,到/etc/sysconfig/network-scripts/下配置ip时无法确定网口对应的配置文件.(比如是et ...

  8. drf 接口文档

    coreapi 参考点击 swagger风格接口文档 参考 参考用例 swagger 使用参考

  9. JS阻止事件冒泡与浏览器默认行为

    阻止冒泡 W3C的方法是e.stopPropagation() IE是e.cancelBubble = true; 阻止默认行为 W3C的方法e.preventDefault(), IE是e.retu ...

  10. cf 989C

    构造一个网格图使得四种类型的联通分量分别有a,b,c,d 看图就知道应该如何去构造了 int gird[maxn][maxn]; int main(){ int a[4]; for(int i=0;i ...