docker gogs安裝

前言

使用docker+gogs方式搭建本身的私有代碼服務器
Gogs官網文檔地址mysql


建立docker mysql

  1. 拉取mysql鏡像 docker pull mysql
  2. 建立物理目錄,用於存儲mysql數據nginx

    • mysql數據文件目錄 mkdir /opt/docker/mysql/data
    • mysql配置文件目錄 mkdie /opt/docker/mysql/conf
  3. 在配置文件目錄下新增文件: docker.cnf, mysql.cnf, mysqldump.cnfsql

    • docker.cnf
    [mysqld]
     skip-host-cache
     skip-name-resolve
    • mysql.cnf
    [mysql]
     default-character-set = utf8
     
     [mysql_safe]
     default-character-set = utf8
     
     [client]
     default-character-set = utf8
     
     [mysqld]
     pid-file      = /var/run/mysqld/mysqld.pid
     socket        = /var/run/mysqld/mysqld.sock
     datadir       = /var/lib/mysql
     #log-error    = /var/log/mysql/error.log
     # By default we only accept connections from localhost
     #bind-address = 127.0.0.1
     # Disabling symbolic-links is recommended to prevent assorted security risks
     symbolic-links=0
     
     # 修改mysql默認字符集
     init_connect  = 'SET NAMES utf8'
     character-set-server = utf8
     collation-server = utf8_unicode_ci
    • mysqldump.cnf
    [mysqldump]
     quick
     quote-names
     max_allowed_packet  = 16M
  4. 啓動mysql docker run -d --name gogs-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/conf:/etc/mysql/conf.d mysql:latest
    參數說明:docker

    • -d: 指定該容器之後臺方式運行
    • --name: 指定容器名稱爲gogs-mysql
    • --net: 將容器加入backend網絡
    • -p: 創建宿主機和容器的端口映射, 第一個3306表示宿主機的端口,第二個3306表示容器的端口, 訪問宿主機的3306端口就等於於訪問容器的3306端口
    • -v: 將宿主機的目錄掛載到容器中.(將數據與容器分離)
    • mysql:latest: mysql鏡像
  5. 鏡像操做數據庫

    • 啓動:docker start gogs-mysql
    • 刪除:docker rm gogs-mysql
    • 進入鏡像操做:docker exec -it gogs-mysql /bin/bash

建立 docker gogs

  1. 拉取鏡像:docker pull gogs/gogs
  2. 建立物理目錄:mkdir /opt/docker/gogs
  3. 啓動:docker run -d --name=mygogs -p 10022:22 -p 10080:3000 -v /opt/docker/gogs:/data gogs/gogs
    參數說明:瀏覽器

    • -d: 指定該容器之後臺方式運行
    • --name: 指定容器名稱爲mygogs
    • -p: 創建宿主機和容器的端口映射,將容器的22端口映射到宿主機的10022端口, 將容器的3000端口映射到宿主機的10080端口
    • -v: 將宿主機的目錄掛載到容器中.(將數據與容器分離)
    • gogs/gogs: gogs鏡像
  4. 鏡像操做bash

    • 啓動:docker start mygogs
    • 刪除:docker rm mygogs
    • 進入鏡像操做:docker exec -it mygogs /bin/bash

gogs配置

  • 瀏覽器訪問物理機ip+端口,http://192.168.3.61:10080/
  • 設置數據庫配置,修改我的的配置信息:主機用戶密碼數據庫 等配置信息
  • 設置應用訪問配置,域名使用物理機ip地址+端口:192.168.3.61:10080,ssh端口號:10022,應用url:192.168.3.61:10080
  • 設置管理員信息

數據庫設置
應用設置
郵件配置
管理員帳號


  • 保存配置,跳轉登陸則安裝完成,碰見錯誤看頁面提示修改,gogs日誌文件/opt/docker/gogs/gogs/log

docker操做

  • docker運行狀態 docker ps -a
  • docker日誌,最後200條 docker logs --tail=200 gogs-mysql
  • 滾動監聽日誌 docker logs -f gogs-mysql

安裝完成

瀏覽器訪問 http://192.168.3.61:10080便可操做服務器

域名訪問gogs項目

設置nginx配置,保存信息,重啓nginx服務網絡

server { 
        listen 80;
        server_name 域名信息;
         
        #方向代理 gogs訪問                             
        location / {
                proxy_pass http://127.0.0.1:10080/;
                proxy_redirect default;
        }
         
        #access_log /var/log/nginx/gogs/access.log main;
        #error_log /var/log/nginx/gogs/error.log;
         
}

修改gogs配置ssh

[server]
DOMAIN           = sudo docker exec -it mysql /bin/bash
HTTP_PORT        = 3000
ROOT_URL         = 上一步更改的域名信息                                                                                                                                                               
DISABLE_SSH      = false
SSH_PORT         = 10022
START_SSH_SERVER = false
OFFLINE_MODE     = false

重啓gogs,便可訪問

相關文章
相關標籤/搜索