美文网首页
docker安装gogs

docker安装gogs

作者: 码农梦醒 | 来源:发表于2018-03-04 10:45 被阅读3040次

    请先参考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

    01.png 02.png

    注意两个配置:

    1. 数据库主机 值应该是: mysql57:3306 这个是docker中连接另一个容器中服务的方式(上一篇文章在启动mysql容器时,将mysql加入backend网络的目的就在于此).
    2. 应用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
    即可看到登录, 界面了, 点击注册, 注册成功后的第一个用户, 会成为超管用户.

    五. 测试

    1. 使用gogs的图形界面,创建一个项目. 然后在本地, pull下来, 修改之后再push上去. 然后看界面中是否有你提交的结果
    2. 使用如下命令, 停止并删除容器
      docker stop gogs
      docker rm gogs
    3. 再次启动容器
    docker run -d -p 10022:22 -p 10080:3000 \ 
    --name=gogs --net=backend \ 
    -v /opt/docker/gogs/:/data \ 
    gogs/gogs
    
    1. 访问 http://localhost:10080, 登录查看之前创建是否依然存在, 如果存在, 则你已成功完成gogs部署了

    相关文章

      网友评论

          本文标题:docker安装gogs

          本文链接:https://www.haomeiwen.com/subject/kyjffftx.html