Gogs的Docker容器化部署流程遇到的问题
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容器化部署流程遇到的问题的更多相关文章
- spring boot本地开发与docker容器化部署的差异
spring boot本地开发与docker容器化部署的差异: 1. 文件路径及文件名区别大小写: 本地开发环境为windows操作系统,是忽略大小写的,但容器中区分大小写 2. docker中的容器 ...
- ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx
一.前言 在之前的文章(ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路)中,我介绍了如何在 Linux 环境中安装 .NET Core SDK / .NET Core ...
- Docker容器化部署Python应用
1. 简介 Docker是目前主流IT公司广泛接受和使用的,用于构建.管理和保护它们应用程序的工具. 容器,例如Docker允许开发人员在单个操作系统上隔离和运行多个应用程序,而不是为服务器上的每个应 ...
- Docker 容器化部署1小时简单入门
Docker简介 Docker是DotCloud开源的.可以将任何应用包装在Linux container中运行的工具.2013年3月发布首个版本,当前最新版本为1.3.Docker基于Go语言开发, ...
- Docker 容器化部署 Python 应用
Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建.打包为一个轻量级容器,并在任何地方运行.Docker 会在软件容器中自动部署应用程序. 在本篇中,我将介绍如 ...
- network_node:host解决Docker容器化部署微服务出现的Dobbo通信问题
在Docker中,有时候出现 ports: - 20880:20880 Dobbo通信出现问题. 此时应该改成 network_node:host 注释 ports!
- 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署
通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...
- docker容器化python服务部署(supervisor-gunicorn-flask)
docker容器化python服务部署(supervisor-gunicorn-flask) 本文系作者原创,转载请注明出处: https://www.cnblogs.com/further-furt ...
- Azure Devops实践(5)- 构建springboot项目打包docker镜像及容器化部署
使用Azure Devops构建java springboot项目,创建镜像并容器化部署 1.创建一个springboot项目,我用现有的项目 目录结构如下,使用provider项目 在根目录下添加D ...
随机推荐
- python选课系统作业
# 选课系统# 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海 ...
- 得心应用的Vue高级技巧---vue中文社区
1,require.context()一个webpack的api,通过执行require.context函数获取一个特定的上下文,主要用来实现自动化导入模块,在前端工程中,如果遇到从一个文件夹引入很多 ...
- Ant Design 方法默认传值,加上其他参数
前端填坑之路Ant Design里面的一些触发方法,如OnChange,OnSelect等等,当你触发时,该时间会自动传一些值给方法. 这是Select里面的onChange调用,在红框中,他会自动传 ...
- Linux高性能服务器编程:Linux服务器程序规范
Linux服务器程序一般以后台进程形式运行,后台进程又称守护进程.它没有控制终端,不会接收到用户输入.守护进程的父进程通常是init进程(PID为1). Linux服务器程序有一套日志系统 Linux ...
- Quartz.NET - 教程 5: 简单触发器
译者注: 目录在这 Quartz.NET 3.x 教程 原文在这 Lesson 5: SimpleTrigger 如果你需要在特定的时间点执行一次作业, 或者在特定的时间点执行一次作业, 然后在特定的 ...
- java设计模式学习笔记--接口隔离原则
接口隔离原则简述 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应建立在最小的接口上 应用场景 如下UML图 类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类 ...
- zabbix默认监控负载取值不准确
今天碰到个负载高引起的问题但是查看zabbix监控并没有报警,检查后发现监控取值与实际服务器内负载不一致. 使用zabbix_get命令在服务器内测试 zabbix默认模板键值 取值内容 [root@ ...
- CSS相对定位与绝对定位
1.相对定位 Position : relative ; 特点: 1 如果没有定位偏移量,对元素本身没有任何影响: 2 不使元素脱离文档流,空间是会被保留: 3 不影响其他元素布局: 4 left.t ...
- plsql导出查询结果,导出csv文件。但是类似身份证等超出15位的数据后三位显示问题,和科学计数法的格式问题
问题描述: plsql导出查询结果时,如果使用导出查询结果,使用excelfile会特别慢. 所以我们一般使用csv文件,然后在excel中新建空白文档,在数据菜单中导入数据,但是导出 ...
- Java(二)Arrays工具类
Arrays是一个专门用于操作数组的工具类,该类位于java.util包中. Arrays的常用方法: 1.排序方法 原型:static void sort(int [] a) 功能:对指定的int型 ...