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 ...
随机推荐
- 5.Python安装依赖(包)模块方法介绍
1.前提条件 1). 确保已经安装需要的Python版本 2). 确保已经将Python的目录加入到环境变量中 2. Python安装包的几种常用方式 1). pip安装方式(正常在线安装) 2). ...
- C语言程序设计(实验一)
实验项目:1.3.2,1.3.3,1.3.4,2.3.1,2.3.2 姓名:邹琼 实验地点:家 实验时间:2020年2月28日 一.实验目的与要求 1.实验目的 掌握DEVC++的安装方法,并实现 ...
- 疑问:Iterator 遍历器和数据集合各种遍历方法的区别
https://es6.ruanyifeng.com/#docs/iterator Iterator(遍历器)的概念 Iterator 接口主要供for...of消费 Iterator 的遍历过程是: ...
- Chapter2二分与前缀和
Chapter 2 二分与前缀和 +++ 二分 套路 如果更新方式写的是R = mid, 则不用做任何处理,如果更新方式写的是L = mid,则需要在计算mid是加上1. 1.数的范围 789 #in ...
- take it away `electron-builder` Electron打包失败的问题
出现这个问题 出现问题原因是程序占用 , 在后台进程中将Electron的服务干掉以后再打包
- 论文阅读笔记(十七)【ICCV2017】:Dynamic Label Graph Matching for Unsupervised Video Re-Identification
Introduction 文章主要提出了 Dynamic Graph Matching(DGM)方法,以非监督的方式对多个相机的行人视频中识别出正确匹配.错误匹配的结果.本文主要思想如下图: 具体而言 ...
- salt-minion启动报错No module named salt.scripts
这是当初部署saltstack时候的问题了,saltstack用的是0.17.4的版本.正当minion部署到最后时候,启动 minion端时报错ImportError: No module name ...
- Spark学习之路 (十二)SparkCore的调优之资源调优[转]
概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如 ...
- openlayers显示比例尺
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Miller_Rabin()算法素数判定 +ollard_rho 算法进行质因数分解
//****************************************************************// Miller_Rabin 算法进行素数测试//速度快,而且可以 ...