一、前言

  有网友问我为什么要使用私服,可能大部分人都不是太懂,网上那么多存储仓库而且好用方便,但是你想过没有如果企业中的项目,放在人家的仓库上这个安全性不是太好,所以说一般企业都会有自己的私服。本章教程结合安装Docker+Mysql5.7+gogs搭建私服,系统采用centos 7,教程基本上很全面,搭建过程中,可能会遇到问题,教大家些技巧,首先把报错复制到百度上看一下,如果实在是找不到问题,翻到此文章最下面。

二、背景介绍  

   Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

三、安装Docker环境

1.安装docker,由于Docker限制分为两个版本CE和EE,所以之前yum里面的docker是老版本,需要先进行卸载,现在的包名

执行命令:

 sudo yum remove docker \
 docker-common \
 docker-selinux \
 docker-engine

图例:

2.安装依赖的库:yum-utils、yum-config-manager、device-mapper-persistent-data、lvm2、devicemapper 注意:安装Docker CE,你能够通过不同的方式来安装DockerCE,取决于你的需要。通过仓库来安装docker,当你在一台新的机器上第一次安装docker之前,你需要去设定一下你的Docker仓库,之后你才能够安装或者更新Docker从仓库中

执行命令:

命令行:sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

图例:

 3.使用下列的命令去设置stable仓库,你大部分使用的是stable版本的仓库,不过你想安装编译从edge或者test版本也是没有问题的

执行命令:

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

图例:

 4.选项:允许edge和test的参控股,他们的仓库资源是包含在docker.repo上面的,文件包含,但是默认配置是能够获取的,你需要用通过命令开启,然后能够和stable版本一起使用

执行命令:

sudo yum-config-manager --enable docker-ce-edge

图例:

执行命令:

sudo yum-config-manager --enable docker-ce-test

图例:

也能够通过yum-config-manager的命令--disable来开启和关闭对应的edge仓库和test仓库

执行命令:

sudo yum-config-manager --disable docker-ce-edge

5.安装最新版本的Docker CE或者按安装特殊版本

执行命令:

sudo yum install docker-ce

图例:

6.启动docker

执行命令:

sudo systemctl start docker

图例:

7.查看是否启动成功

执行命令:

systemctl status docker

图例:

8.卸载docker 第一步:卸载docker包,第二步:删除你的镜像、容器、磁盘、以及相关的配置文件在你电脑上不会自动删除,通过命令行删除的镜像、容器、文件

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

9.启动关闭Docker命令

.启动docker,命令:systemctl start docker
.验证docker是否启动成功,命令:dockers version
.重启docker,命令:systemctl restart docker
.关闭docker,命令:systemctl stop docker END

四、Docker 安装mysql

1.查找Mysql的可用镜像

执行命令:

docker search mysql

图例:

 二、拉取Mysql5.7镜像

执行命令:

docker pull mysql:5.7

图例:

 3.查看docker 镜像内是否存在Mysql5.7

执行命令:

docker images

图例:

 4.启动mysql,--name 是名字随意,后面有启动的mysql密码

执行命令:

docker run -di --name=mymysql -p : -e MYSQL_ROOT_PASSWORD= mysql:5.7

 5.查看mysql 是否启动成功 

执行名命令:

docker ps -l

图例:

 五、Docker安装gogs

1.拉取gogs镜像:   

执行命令:

docker pull gogs/gogs

图例:

 2.查看是否拉取成功

执行命令:

docker images

图例:

 3.创建物理目录:

执行命令:

mkdir -p /var/gogs

图例:

 4.启动gogs

执行命令:

docker run --name=mygogs -p : -p : -v /var/gogs:/data gogs/gogs

图例:

六、gogs配置 

1.安装gogs成功后,访问地址:自己的ip:10080

图例:

2.初始话安装配置

图例1:

图例2:

图例3:

 3.到此恭喜你已经安装成功了,可以尽情的使用了。

 七、常见问题

1.安装gogs,pull拉不下来或者docker的Get https://registry-1.docker.io/v2/: net/http: request canceled 报错 ,可以看下这个详解:https://blog.csdn.net/laogouhuli/article/details/92987525  

2.安装成功后配置无法提交报:提示数据库设置不正确:dial tcp 192.168.0.18:3306: getsockopt: no route to host  

解决方案:

关闭防火墙

[root@localhost ~]# vim /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="dhcpv6-client"/>
<service name="ssh"/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="udp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
<port protocol="tcp" port=""/>
</zone> [root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#

八、关于作者:

1.如果有任何不懂的地方可以咨询我,随时欢迎互相帮助。

2.技术交流群:422167709。

3.图解不易,打开微信扫码帮忙关注一下,学习更多的知识,举手之劳,感谢您关注公众号 "编程小乐"。

linux上Docker安装gogs私服亲测(详解)的更多相关文章

  1. linux上Docker安装gogs私服

    一.背景介绍 Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs ...

  2. VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)

    ------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK760 ...

  3. SonarQube学习(一)- 使用Docker安装SonarQube(亲测可用)

    一.前言 不得不吐槽下,现在的博客写的真太扯淡了,就网上写的使用docker安装SonarQube而言,搜到十篇文章,最少9篇照着操作配置都不可用,卡在SonarQube无法启动.自然,我也是被折磨的 ...

  4. linux上docker安装centos7.2

    1.安装 docker pull centos:7.2.1511 2.启动镜像 docker run -d -i -t <IMAGE ID> /bin/bash 3.进入容器 docker ...

  5. Linux 系统下安装JDK1.8的教程详解

    一,安装前的清理工作 ? 1 2 3 rpm -qa | grep jdk rpm -qa | grep gcj yum -y remove java-xxx-xxx 二 , 在线下载JDK 命令: ...

  6. Linux使用scp命令进行文件远程拷贝详解

    前言 scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令.Linux的scp命令可以在Linux服务器之间复制文件和目录. 使用语法: scp  ...

  7. Centos7使用Docker安装Gogs搭建git服务器

    gihub地址:https://github.com/gogs/gogs gogs官网:https://gogs.io/ gihub官方docker安装gogs方法:https://github.co ...

  8. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

  9. docker 安装 gogs(go git server) 及问题解决

    docker安装gogs 参考官方说明 gogs mysql 支持 运行一个mysql image docker run --name gogs-mysql -e MYSQL_ROOT_PASSWOR ...

随机推荐

  1. POJ 1797 最短路变形所有路径最小边的最大值

    题意:卡车从路上经过,给出顶点 n , 边数 m,然后是a点到b点的权值w(a到b路段的承重),求卡车最重的重量是多少可以从上面经过. 思路:求所有路径中的最小的边的最大值.可以用迪杰斯特拉算法,只需 ...

  2. python之常用模块ConfigParser

    这个常见于.conf,.ini等类型的配置文件 下面先看一下如果通过python生成一个.ini文件 import configparser #2.x is ConfigParserconfig = ...

  3. 使用FME对CAD数据进行过滤、中心点替换转为shapefile

    1.首先加载CAD数据,并暴露出需要使用到的相关字段.比如:block_number.fme_geometry.fme_type等字段. (本次的管网设备由于是一个圆圈里面有三个文字因此将fme_ty ...

  4. SpringBoot 集成ehcache

    1, 项目实在springboot 集成mybatis 的基础上的: https://www.cnblogs.com/pickKnow/p/11189729.html 2,pom 如下,有的不需要加, ...

  5. ajax的封装——jq简化版

    最近在复习ajax的知识,练习了下ajax的封装,此处做下笔记 废话不多说,直接代码 //发请求 //此处的url为请求地址,type为请求方式,success为请求成功的回调函数 myaxios({ ...

  6. Python math库和random库

    1.math库 >>> from math import * >>> 2*pi 6.283185307179586 >>> e 2.7182818 ...

  7. RecyclerView实现拖动排序和滑动删除功能

    RecyclerView 的拖动排序需要借助一下 ItemTouchHelper 这个类,ItemTouchHelper 类是 Google 提供的一个支持 RecyclerView 滑动和拖动的一个 ...

  8. 《Java基础复习》—规范与基础

    参考书目<Java 编程思想>所以大家放心食用 一.注释规范以及API文档 1.注释 1.1三种注释方法 //注释内容 单行注释 /* 注释内容 */ 多行注释 /**注释内容*/ 文档注 ...

  9. ajax使用POST提交报错400

    并非BadRequest!! 在用ajax访问登录接口的时候出现了这个错误,查阅得到使用Ajax的Post需要添加 contentType: "application/x-www-form- ...

  10. python中的两个高阶函数map()和reduce()

    1.map()传入的有两个参数,函数和可迭代对象(Itreable),map()是把传入的函数依次作用于序列的每个元素,结果返回的是一个新的可迭代对象(Iterable). map()代码如下: # ...