docker安装gogs
docker安装gogs
参考官方说明
gogs mysql 支持
运行一个mysql image
1. 修改 ssh端口
vim /etc/ssh/sshd_config
port 222
service sshd restart
docker run --name gogs -p 10022:22 -p 10080:3000 -v $(pwd)/gogs:/data gogs/gogs
开启 gogs 服务
docker run -d --restart=always --name=mysql-gogs -v $HOME/docker/gogs/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=kyxxB401 -e MYSQL_DATABASE=gogs -e MYSQL_USER=gogs -e MYSQL_PASSWORD=kyxxB401 mysql
docker run -d --restart=always --name=mysql-gogs -v ~/docker/gogs/mysql:/var/lib/mysql mysql
docker run -d --restart=always --name=mysql-gogs -v /docker/gogs/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=kyxx401 -e MYSQL_DATABASE=gogs mysql:5.7.18
docker run -d --restart=always --name=gogs -p 22:22 -p 3000:3000 -v /docker/gogs/data:/data --link mysql-gogs:mysql gogs/gogs
docker run -it --rm --link mysql-gogs:mysql mysql:latest mysql -hmysql -uroot -pkyxx401
3. 配置nginx 代理
必填配置:
数据库主机: mysql:3306
应用名称: Git Service
域名: pytool.com #git@pytool.com:/xxx
HTTP 端口号: 3000 # 容器内端口号
应用 URL : http://pytool.com/
创建管理员帐号并不是必须的,因为 ID=1 的用户将自动获得管理员权限
{gogs docker 启动挂在路径}/gogs/conf/app.ini
配置项
docker gogs的ssh的端口号22映射到docker主机的10022端口,所以ssh git@dockerhost会提示输入密码
解决方法:在当前用户目录的.ssh目录下,建立config文件,
Host gogs.dev
HostName gogs.dev
Port 10022
User git
说明:Host:指定gogs的host(不要和docker host的名字一样,要不ssh dockerhost又有问题了);Host Name:好像没啥用;Port:为gogs的ssh映射后的端口;User:gogs运行用户
然后再ssh git@gogs.dev就会出现git shell的提示,这样就可以用ssh的方式克隆gogs上的git仓库了