docker安装gogs--转

请先参考docker安装mysql, 进行mysql的安装: http://www.jianshu.com/p/5f5e419b5de8

一. 在宿主机创建目录
无需指定特殊权限

mkdir /opt/docker/gogs/

二. 运行容器
在此之前,先在mysql中创建gogs数据库. [注意,一定要先将mysql数据库的默认字符编码设置为utf8, 否则, gogs在自动创建表时, 会出现问题]

docker run -d -p 10022:22 -p 10080:3000 \ 
--name=gogs --net=backend \ 
-v /opt/docker/gogs/:/data \ 
gogs/gogs

参数说明:

-d: 后台方式运行容器
-p: 端口映射, 将容器的22端口映射到宿主机的10022端口, 将容器的3000端口映射到宿主机的10080端口
–name: 指定容器名称
–net: 将容器加入backend网络, 目的是为了能够连接backend网络中的mysql数据库
-v: 数据卷挂载, 用于将容器和数据分离

三. 打开浏览器,进行gogs配置
http://宿主机ip:10080
如: http://localhost:10080
在这里插入图片描述
在这里插入图片描述
注意两个配置:

数据库主机 值应该是: mysql57:3306 这个是docker中连接另一个容器中服务的方式(上一篇文章在启动mysql容器时,将mysql加入backend网络的目的就在于此).

应用URL, 这个url应该是宿主机地址:10080

点击确认, 之后会转到一个无法连接的页面, 是因为 刚才的应用URL指定的端口是3000, 但访问宿主机的3000并无意义, 必须访问10080才行, 为什么是10080, 因为容器启动时, 建立了-p 10080:3000的映射.
下一步我们将通过修改配置文件的方式修正这个问题

四.修改配置文件
配置文件路径: /opt/docker/gogs/gogs/conf/app.ini

APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = mysql57:3306    ## 注意这里, 是docker中连接通网络,其它容器服务的方式
NAME     = gogs
USER     = root
PASSWD   = root
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /data/git/gogs-repositories

[server]
DOMAIN           = localhost
HTTP_PORT        = 3000
ROOT_URL         = http://localhost:10080/   ## 这个就是图形界面的应用URL的值
DISABLE_SSH      = false
SSH_PORT         = 10022
START_SSH_SERVER = false
OFFLINE_MODE     = false

[mailer]
ENABLED = false

[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL     = false
DISABLE_REGISTRATION   = false
ENABLE_CAPTCHA         = true
REQUIRE_SIGNIN_VIEW    = false

[picture]
DISABLE_GRAVATAR        = false
ENABLE_FEDERATED_AVATAR = true

[session]
PROVIDER = file

[log]
MODE      = file
LEVEL     = Info
ROOT_PATH = /app/gogs/log

[security]
INSTALL_LOCK = true
SECRET_KEY   = nV8DDKEN2IExVjr

修改完之后, 保存, 重启gogs容器,再访问
http://localhost:10080
即可看到登录, 界面了, 点击注册, 注册成功后的第一个用户, 会成为超管用户.

五. 测试

使用gogs的图形界面,创建一个项目. 然后在本地, pull下来, 修改之后再push上去. 然后看界面中是否有你提交的结果
使用如下命令, 停止并删除容器

docker stop gogs
docker rm gogs

再次启动容器

docker run -d -p 10022:22 -p 10080:3000 \ 
--name=gogs --net=backend \ 
-v /opt/docker/gogs/:/data \ 
gogs/gogs

访问 http://localhost:10080, 登录查看之前创建是否依然存在, 如果存在, 则你已成功完成gogs部署了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值