树莓派硬件和系统信息:

硬件:4B+4G内存+32G tf卡

系统:

树莓派4b docker 性能 树莓派4b装docker_树莓派

安装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. 树莓派4b docker 性能 树莓派4b装docker_raspberry pi_02

  8. 停止容器:docker stop cacbe9e6ba06,其中cacbe9e6ba06为容器id。
  9. 启动容器:docker run cacbe9e6ba06
  10. 查看指定容器的日志:docker logs cacbe9e6ba06
  11. 系统重启后自动启动docker:systemctl enable docker.service
  12. 系统重启,自动docker后,自动启动指定的容器:docker update --restart=always hypriot/rpi-mysql。在需要树莓派上电启动后,就自动启动gogs和mysql,就把#11和#12这2条命令执行下即可。
  13. 删除指定容器: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,我这里新建好的数据库配置如下图:
  3. 树莓派4b docker 性能 树莓派4b装docker_树莓派_03


  4. 应用基本设置
    - 域名:localhost - SSH端口号:22 - HTTP端口号:3000 - 应用URL:http://树莓派ip:3000 - 日志路径:/app/gogs/log
  5. 其他配置
    - 最好勾选 服务器和其他服务设置-》禁止用户自主注册,如果有新增用户的需要,使用admin登陆之后,右上角创建新用户即可。

    - 创建管理员用户也不是必须的,我这里创建了,创建之后,就通过填写的管理员账户和密码登陆。

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

gogs的使用

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

  1. 创建代码仓库

    仓库名字最好是可以和准备上传的本地仓库的名字一致,方便管理。
    我是用来管理Python代码的,随意在.gitignore中选择了python
    授权许可我这因为只有在内网自己使用,所以直接忽略。

使用pycharm和本地仓库关联

  1. 本地仓库
    1) 本地我直接在pycharm中进行设置,先创建本地仓库:

    2) 右键项目名,选择远程git
3) 把#2中红框出来的git地址添加到远程的git仓库中

树莓派4b docker 性能 树莓派4b装docker_raspberry pi_04


4)到这里远程和本地的git仓库已经对应起来了。代码在本地commit之后,可以直接push到远程,在gogs的web页面就可以看到新提交的代码信息

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

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

彩蛋

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

  1. 开启和解锁root用户,并切换到root用户:
  2. 把pi加入docker的组中
  3. 重启服务
    service docker restart
  4. 确认pi已经在docker的组中
    cat /etc/groupdocker:x:995:pi
  5. 重新锁定root, 切回pi用户。这时,输入docker指令就不需要加sudo啦
    sudo passwd --lock root