一, 前言
有网友问我为什么要使用私服, 可能大部分人都不是太懂, 网上那么多存储仓库而且好用方便, 但是你想过没有如果企业中的项目, 放在人家的仓库上这个安全性不是太好, 所以说一般企业都会有自己的私服. 本章教程结合安装 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 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. 图解不易, 打开微信扫码帮忙关注一下, 学习更多的知识, 举手之劳, 感谢您关注公众号 "编程小乐".
来源: https://www.cnblogs.com/fuzongle/p/12781828.html