docker安装gogs


原文链接: 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仓库了

`