zoukankan      html  css  js  c++  java
  • linux上Docker安装gogs私服亲测(详解)

    一、前言

      有网友问我为什么要使用私服,可能大部分人都不是太懂,网上那么多存储仓库而且好用方便,但是你想过没有如果企业中的项目,放在人家的仓库上这个安全性不是太好,所以说一般企业都会有自己的私服。本章教程结合安装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命令

    1.启动docker,命令:systemctl start docker
    2.验证docker是否启动成功,命令:dockers version
    3.重启docker,命令:systemctl restart docker
    4.关闭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 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 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 10022:22 -p 10080:3000 -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="443"/>
      <port protocol="tcp" port="22"/>
      <port protocol="tcp" port="21"/>
      <port protocol="udp" port="53"/>
      <port protocol="tcp" port="8081"/>
      <port protocol="tcp" port="8080"/>
      <port protocol="tcp" port="80"/>
      <port protocol="tcp" port="9090"/>
      <port protocol="tcp" port="2222"/>
      <port protocol="tcp" port="3306"/>
    </zone>
    
    [root@localhost ~]# firewall-cmd --reload
    success
    [root@localhost ~]# 

    八、关于作者:

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

    2.技术交流群:422167709。

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

  • 相关阅读:
    静态页面设置缓存、动态页面设缓存
    未能加载文件或程序集“WebGrease, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
    CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files
    asp.net mvc 重定向
    win8 应用商店。 app下载的音乐和视频软件能打开,不能正常播放 解决方法
    JS 阻止事件冒泡
    ASP.NET MVC4空MVC项目添加脚本压缩和合并
    TabHost说明
    colors.xml
    MMU (一)
  • 原文地址:https://www.cnblogs.com/fuzongle/p/12781828.html
Copyright © 2011-2022 走看看