gitlab搭建


mkdir -p /data/docker/gitlab/etc
mkdir -p /data/docker/gitlab/logs
mkdir -p /data/docker/gitlab/data

docker run \
--detach \
--name gitlab \
--publish 8090:80 \
--publish 8443:443 \
--memory 4g \
--restart unless-stopped \
-v /data/docker/gitlab/etc:/etc/gitlab \
-v /data/docker/gitlab/logs:/var/log/****gitlab \
-v /data/docker/gitlab/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce
--detach或者-d来保持容器在后台持续运行

--name 命名容器名称

--publish 暴露了容器的三个端口, 分别是https对应的443, http对应80以及ssh对应的22(如果不需要配置https, 可以不暴露)

--memory 限制容器最大内存暂用4G, 这是官方推荐的

–privileged=true 添加权限,不然无权限创建/srv/gitlab/config/gitlab.rb等配置文件

修改配置信息

vim /data/docker/gitlab/etc/gitlab.rb


###################################################
# 添加外部请求的域名(如果不支持https, 可以改成http)
external_url 'https://gitlab.example.com'
# 修改gitlab对应的时区 
gitlab_rails['time_zone'] = 'PRC'
# 开启邮件支持 
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
# 配置邮件参数
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "domian.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false        
###################################################

#SSL密钥相关配置#
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/data/docker/gitlab/ssl/gitlab.example.com.crt"
nginx['ssl_certificate_key'] = "/data/docker/gitlab/ssl/gitlab.example.com.key"

:wq #保存配置文件并退出

重启gitlab服务

# 方法一: 重启容器(其中xxxxxx是容器id/name)
docker restart xxxxxx
docker restart gitlab

# 方法二: 登陆容器, 重启配置
docker exec -it  xxxxxx bash   
gitlab-ctl reconfigure
gitlab-ctl restart

查看启动日志

docker logs -f gitlab

安装jenkins


mkdir -p /data/jenkins/

docker run -itd -p 8080:8080 -p 50000:50000  -u 0 --name jenkins --privileged=true  -v /data/jenkins:/var/jenkins_home jenkins


cat /data/jenkins/secrets/initialAdminPassword 



/pluginManager/advanced

安装GOGS

docker run  -dt  --name=gogs -p 10022:22 -p 127.0.0.1:10080:3000 -v /data/gogs:/data  gogs/gogs

增量备份数据
rsync -avzu --exclude={'gogs/log/*','gogs/data/sessions/*'}  /data/gogs/  root@127.0.0.1:/data/gogs_bak

elasticsearch单机部署

redis安装

docker pull redis:4.0
docker run -p 6379:6379 -d redis:4.0 redis-server
docker exec -it redis-server redis-cli

mysql安装

mkdir -p /data/mysql/conf  /data/mysql/log /data/mysql/data
docker run --name mysql5.7
-p 3306:3306 \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456  
-d mysql:5.7


docker run --name mysql57 \
-p 3306:3306 \
-v ~/workspace/docker/mysql/conf:/etc/mysql/conf.d \
-v ~/workspace/docker/mysql/log:/var/log/mysql \
-v ~/workspace/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

sol安装

docker pull solr:6.6.6
docker run  -p 8983:8983  -dt solr:6.6.6

mongodb安装

docker pull mongo:latest

docker run -it -p 127.0.0.1:27017:27017 -v /data/docker/mongodb:/data/db --name mongo-yapi  -d mongo:latest

showdoc

docker pull registry.cn-shenzhen.aliyuncs.com/star7th/showdoc

mkdir -p /data/docker/showdoc/html

docker run -d --name showdoc --user=root --privileged=true -p 8091:80 -v /data/docker/showdoc/html:/var/www/html/ registry.cn-shenzhen.aliyuncs.com/star7th/showdoc

zhiqiang
243 声望14 粉丝