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
解决方案:
关闭防火墙
[ ~]# 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> [ ~]# firewall-cmd --reload success [ ~]#
八、关于作者:
1.如果有任何不懂的地方可以咨询我,随时欢迎互相帮助。
2.技术交流群:422167709。
3.图解不易,打开微信扫码帮忙关注一下,学习更多的知识,举手之劳,感谢您关注公众号 "编程小乐"。