Centos 7 docker 安装gogs详解

安装前提提交

系统版本为3.10.0以上才能安装

[root@localhost conf]# uname -a
Linux localhost.localdomain 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost conf]# 

安装mysql

docker pull mysql/mysql-server:latest  
docker run -d --restart always  -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v $PWD/mysql/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql/data:/var/lib/mysql -p 3306:3306 mysql/mysql-server:latest 
docker exec -it ce33e66bd8a5 /bin/sh
mysql -uroot -p -h localhost 

修改 mysql密码及授权登录

修改本地root用户密码,并开放root远程访问权限

set password for root@localhost = password('123456');
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
FLUSH PRIVILEGES;

本地化数据

Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可

1、加上-v参数

$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 

还可以指定配置文件

docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 

这样,即可修改配置文件,还能把数据存在本地目录,一举两得,-v 参数可以多次使用,每次映射一个目录,通过这种方式,很容易进行配置。

安装gogs镜像

[root@localhost ~]#  docker pull gogs/gogs
Using default tag: latest
Trying to pull repository docker.io/gogs/gogs ... 
latest: Pulling from docker.io/gogs/gogs
b1f00a6a160c: Pull complete 
219d6f70b7c7: Pull complete 
d7347dd7b842: Pull complete 
91781f374319: Pull complete 
2af6e1a042d8: Pull complete 
c8aa11c846cd: Pull complete 
63ac2f7bab89: Pull complete 
75e74f5ba116: Pull complete 
8c5f51d39741: Pull complete 
5e9f52d4c77e: Pull complete 
4f319b1c39f5: Pull complete 
Digest: sha256:f770a8d3f5f38bd7905ec030f3e66da800c21ce6f9c91c5c48199e6ac31f3010
[root@localhost ~]# 

运行gogs镜像

docker run -d --name=mygogs -p 2222:22 -p 9090:3000 -v /srv/gogs:/data gogs/gogs 

常见问题

监听日志,提示没有权限
mkdir: can't create directory '/data/git/': Permission denied
此时,可能是SELINUX阻止的原因

[root@localhost data]# docker logs --tail 0 -f 712c350adb28cc17b73f0a87548ab97e02f45d0b9bb56c6f6b495de258f01222

Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory
Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory
Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory
chown: /data/ssh/*: No such file or directory
chmod: /data/ssh: No such file or directory
chmod: /data/ssh/*: No such file or directory
Could not load host key: /data/ssh/ssh_host_rsa_key
Could not load host key: /data/ssh/ssh_host_dsa_key
Could not load host key: /data/ssh/ssh_host_ecdsa_key
Could not load host key: /data/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
mkdir: can't create directory '/data/git/': Permission denied
chmod: /data/git/.ssh: No such file or directory
./run: ./setup: line 11: can't create /data/git/.ssh/environment: nonexistent directory
chmod: /data/git/.ssh/environment: No such file or directory
chown: /data: Permission denied
chown: /data: Permission denied
chown: /data/git/: No such file or directory
chmod: /data: Permission denied
chmod: /data/gogs: No such file or directory
chmod: /data/git/: No such file or directory
2017/12/31 01:19:08 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time
2017/12/31 01:19:08 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied
Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory
^C
[root@localhost data]# 
关闭SELINUX即可解决

(1)临时关闭:setenforce 0
(2)永久关闭: vim /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
再次监听日志运行成功
[root@localhost data]# docker logs --tail 0 -f 712c350adb28cc17b73f0a87548ab97e02f45d0b9bb56c6f6b495de258f01222
usermod: no changes
Dec 31 01:32:48 syslogd started: BusyBox v1.25.1
2017/12/31 01:32:48 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time
2017/12/31 01:32:48 [TRACE] Custom path: /data/gogs
2017/12/31 01:32:48 [TRACE] Log path: /app/gogs/log
2017/12/31 01:32:48 [TRACE] Build Time: 2017-11-22 08:19:49 UTC
2017/12/31 01:32:48 [TRACE] Build Git Hash: 
2017/12/31 01:32:48 [TRACE] Log Mode: Console (Trace)
2017/12/31 01:32:48 [ INFO] Gogs 0.11.34.1122
2017/12/31 01:32:48 [ INFO] Cache Service Enabled
2017/12/31 01:32:48 [ INFO] Session Service Enabled
2017/12/31 01:32:48 [ INFO] SQLite3 Supported
2017/12/31 01:32:48 [ INFO] Run Mode: Development
Dec 31 01:32:48 sshd[32]: Server listening on :: port 22.
Dec 31 01:32:48 sshd[32]: Server listening on 0.0.0.0 port 22.
2017/12/31 01:32:48 [ INFO] Listen: http://0.0.0.0:3000

可选安装(可自行添加git用户,并分配权限)

yum install zlib-devel perl-CPAN perl-devel curl-devel gettext expat-devel gettext-devel openssl-devel perl-Time-HiRes git -y

进入安装界面

image.png

image.png

注意新建好数据库,且设置好编码和排序集

image.png

提示数据库设置不正确: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 ~]# 

输入安装地址

image.png

添加非对称密钥公钥

Administrator@USER-20170324BD MINGW64 ~/Desktop
$ cat ~/.ssh/id_rsa.pub | clip

Administrator@USER-20170324BD MINGW64 ~/Desktop
$
image.png

如遇配置不一致

修改/srv/gogs/gogs/conf其中的配置即可
[root@localhost conf]# pwd
/srv/gogs/gogs/conf
[root@localhost conf]#

[root@localhost conf]# vim app.ini 
[root@localhost conf]# 
image.png

至此,gogs安装完毕!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容