【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)

树莓派硬件和系统信息:

硬件:4B+4G内存+32G tf卡
系统:
在这里插入图片描述

安装docker

安装: sudo curl -sSL https://get.docker.com | sh
常用命令:

  1. 查看版本:docker -v

  2. 获取images:docker pull hypriot/rpi-mysql,其中hypriot/rpi-mysql为树莓派版本的mysql,所有docker中支持的images都可以通过pull简单获取。点这里获取所有images。

  3. 查看所有已下载的images:docker images

  4. 删除docker中的images:docker rmi 626eb49a4692,其中 626eb49a4692为待删除的镜像id,删除前必须先把该镜像对应的容器删除。

  5. 创建容器:docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d hypriot/rpi-mysql, 其中hypriot/rpi-mysql为镜像名,一般启动mysql或者gogs都需要指定端口等信息,所有具体要看启动的服务来补充run的参数。

  6. 查看正在运行中的所有容器:docker ps -a
    在这里插入图片描述

  7. 停止容器:docker stop cacbe9e6ba06,其中cacbe9e6ba06为容器id。

  8. 启动容器:docker run cacbe9e6ba06

  9. 查看指定容器的日志:docker logs cacbe9e6ba06

  10. 系统重启后自动启动docker:systemctl enable docker.service

  11. 系统重启,自动docker后,自动启动指定的容器:docker update --restart=always hypriot/rpi-mysql。在需要树莓派上电启动后,就自动启动gogs和mysql,就把#11和#12这2条命令执行下即可。

  12. 删除指定容器:docker rm cacbe9e6ba06

安装Git

安装:sudo apt-get install git

安装mysql

获取镜像:docker pull hypriot/rpi-mysql
创建容器:docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d hypriot/rpi-mysq

安装gogs

获取镜像:docker pull gogs/gogs-rpi
创建容器:docker run -it -d --name gogs --link mysql:db -p 3000:3000 gogs/gogs-rpi
配置gogs(安装时没有截图,所以下面配置的填写都使用文字描述):

  1. 在树莓派或者远程机器上打开浏览器,输入http://树莓派ip:3000,首次Gogs web页面,就会看到设置向导。
  2. 进行数据库配置:
    - 数据库类型:mysql
    - 数据库主机:db:3306,创建容器时,指定了db link到mysql上,所以填写db加端口即可。
    - 数据库用户:root
    - 数据库用户密码:root,创建mssyq容器时指定了root密码为root
    - 数据库名称:gogs
    注:如果保存时,提示数据库gogs不存在,就连接树莓派的数据库,在里面新增一个名称为gogs的数据库,排序规则选择utf8_general_ci,我这里新建好的数据库配置如下图:
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第1张图片
  3. 应用基本设置
    - 域名:localhost
    - SSH端口号:22
    - HTTP端口号:3000
    - 应用URL:http://树莓派ip:3000
    - 日志路径:/app/gogs/log
  4. 其他配置
    - 最好勾选 服务器和其他服务设置-》禁止用户自主注册,如果有新增用户的需要,使用admin登陆之后,右上角创建新用户即可。
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第2张图片
    - 创建管理员用户也不是必须的,我这里创建了,创建之后,就通过填写的管理员账户和密码登陆。

之后就可以通过http://树莓派ip:3000,进入gogs页面就可以方便的进行代码管理了。界面和gitlab很像,使用起来没有非常顺畅。

gogs的使用

作为代码管理服务器来说,一般会用到下面这些操作,熟悉gitlab的人可以直接跳过,这里只大概介绍下。

  1. 创建代码仓库
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第3张图片
    仓库名字最好是可以和准备上传的本地仓库的名字一致,方便管理。
    我是用来管理Python代码的,随意在.gitignore中选择了python
    授权许可我这因为只有在内网自己使用,所以直接忽略。
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第4张图片

使用pycharm和本地仓库关联

  1. 本地仓库
    1) 本地我直接在pycharm中进行设置,先创建本地仓库:
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第5张图片
    2) 右键项目名,选择远程git
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第6张图片

     3) 把#2中红框出来的git地址添加到远程的git仓库中
    

【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第7张图片
4)到这里远程和本地的git仓库已经对应起来了。代码在本地commit之后,可以直接push到远程,在gogs的web页面就可以看到新提交的代码信息

使用Git命令行和本地仓库关联

简单使用命令就可以把远程仓库的代码下载下来:
git clone http://树莓派ip:3000/项目地址

彩蛋

解决树莓派中安装docker之后,每次都需要sudo的问题,操作步骤如下:

  1. 开启和解锁root用户,并切换到root用户:
    【树莓派RPI】树莓派4B搭建基于docker的私有代码管理服务器(mysql+gogs)_第8张图片
  2. 把pi加入docker的组中
    在这里插入图片描述
  3. 重启服务
    service docker restart
  4. 确认pi已经在docker的组中
    cat /etc/group
    docker:x:995:pi
  5. 重新锁定root, 切回pi用户。这时,输入docker指令就不需要加sudo啦
    sudo passwd --lock root

你可能感兴趣的:(树莓派,raspberry,pi)