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

 

posted @ 2020-04-26 19:45  付宗乐  阅读(7939)  评论(0编辑  收藏  举报