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 ...
随机推荐
- 关于...corresponds to your MySQL server version for the right syntax to use near '?' at line 1的解决办法
完整报错信息: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual tha ...
- 【转】JS 的 new 到底是干什么的?
原文:https://zhuanlan.zhihu.com/p/23987456?refer=study-fe 大部分讲 new 的文章会从面向对象的思路讲起,但是我始终认为,在解释一个事物的时候,不 ...
- JS DOM中getElement系列和querySelector系列获取节点
节点查找方法 document.getElementById() 前面必须是document document.getElementsByName() 前面必须是document ele.getEl ...
- 堆优化 dijkstra 简介
dijkstra 前言 原本我真的不会什么 dijkstra 只用那已死的 spfa ,还有各种玄学优化,可是,我不能相信一个已死的算法,就像我不能相信自己. ps : 虽然他已经活了 序 我站在镜子 ...
- 一起学Vue之条件判断
在Vue进行前端开发中,条件判断主要用于根据不同的条件来决定显示或隐藏,或者进行视图之间的切换,本文以一个简单的小例子简述v-if的常见用法,仅供学习分享使用,如有不足之处,还请指正. v-if 指令 ...
- 怎么在IDEA中给方法添加分割线?
方法中间分割不清晰 怎么在IDEA中给方法添加分割线呢? 效果如图 方法上有一条分割线,比较明了 按照下列顺序点击修改设置即可 File→Settings→Editor→General→Appeara ...
- Winform中怎样对窗体进行隐藏,再次打开时仍然保留上次的窗体
场景 点击按钮后打开窗口,点击窗口的确定按钮后即使窗体返回了Ok,此时不关闭窗体,将窗体隐藏. 再次点击按钮后,仍然打开上次的窗体. 注: 博客主页: https://blog.csdn.net/ba ...
- “石家庄铁道大学软件工程系学生学籍管理系统2019版”java小程序制作分享
首先附上完整代码: import java.util.Scanner; public class SocreInformation { public SocreInformation(){}; pub ...
- 如何通过 SSH/Telnet 用 root 权限登录群晖
出于系统安全原因,对 Synology NAS 的 root 访问有限.如果您获取 root 权限,请在命令行界面中用任何属于Local Administrators群组的帐户证书登录 DSM(如Pu ...
- 页面置换算法——最近最久未使用算法(c语言实现)
操作系统实验:用C语言编程实现最近最久未使用置换算法(LRU) 最近最久未使用置换算法(LRU),全称Least Recently Used,是一种页面置换算法. 对于在内存中但又不用的数据块(内存块 ...