1. 程式人生 > >使用阿里雲資源在centos7上配置docker安裝gitlab、mysql、jira

使用阿里雲資源在centos7上配置docker安裝gitlab、mysql、jira

Docker要求64位的系統且核心版本至少為3.10

一、安裝docker

1、新增yum源。

yum install epel-release –y

yum clean all

yum list

2、安裝並執行Docker。

yum install docker-io –y

systemctl start docker

3、檢查安裝結果

docker info

二、安裝gitlab

1、查詢映象:docker search gitlab

2、安裝映象

docker pull docker.io/gitlab/gitlab-ce(這個過程會很久,下載需要一定時間)

3、檢視映象

 docker images

4、建立容器

docker run -d \
--hostname gitlab \                                   # 指定容器域名,未知功能:建立映象倉庫的時候使用到          
 -p 8443:443 \                                          # 將容器內443埠對映到主機8443,提供https服務
 -p 8888:80 \                                            # 將容器內80埠對映到主機8888,提供http服務
 -p 2222:22 \                                            # 將容器內22埠對映到主機2222,提供ssh服務
 -p 9090:9090 \                                        # 將容器內9090埠對映到主機9090,提供prometheus服務
 --name gitlaba \                                      # 指定容器名稱
 --restart always \                                    # 容器退出時,自動重啟
 -v /home/gitlab/config:/etc/gitlab \          # 將本地/home/gitlab/config掛載到容器內/etc/gitlab
 -v /home/gitlab/log:/var/log/gitlab \         # 將本地/home/gitlab/log掛載到容器內/var/log/gitlab
 -v /home/gitlab/opt:/var/opt/gitlab \        # 將本地/home/gitlab/opt掛載到容器內/var/opt/gitlab
 gitlab/gitlab-ce:latest                             # 映象名稱:版本

5、檢視Gitlab容器執行情況

docker inspect gitlaba --format "{{.State.Status}}"

6、配置web請求地址

vim /home/gitlab/config/gitlab.rb,更改如下資訊:

external_url 'http://192.168.217.128'
7、配置過載

docker exec -t gitlaba gitlab-ctl reconfigure

docker exec -t gitlaba gitlab-ctl restart

8、其他配置

時區設定

gitlab_rails['time_zone'] = 'Asia/Shanghai'

Gitlab映象自帶nginx配置

nginx['enable'] = true
nginx['client_max_body_size'] = '250m'
nginx['redirect_http_to_https'] = false
nginx['listen_addresses'] = ['0.0.0.0', '[::]']
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['custom_gitlab_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"
nginx['custom_nginx_config'] = "include /etc/nginx/conf.d/*.conf;"
nginx['proxy_read_timeout'] = 3600
nginx['proxy_connect_timeout'] = 300
nginx['proxy_set_headers'] = {
 "Host" => "$http_host_with_default",
 "X-Real-IP" => "$remote_addr",
 "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
 "Upgrade" => "$http_upgrade",
 "Connection" => "$connection_upgrade"
}
nginx['proxy_cache_path'] = 'proxy_cache keys_zone=gitlab:10m max_size=1g levels=1:2'
nginx['proxy_cache'] = 'gitlab'
nginx['http2_enabled'] = false
nginx['real_ip_trusted_addresses'] = ['172.16.0.0/16']
nginx['real_ip_header'] = 'X-Real-IP'
nginx['real_ip_recursive'] = on
nginx['custom_error_pages'] = {
  '404' => {
    'title' => 'Example title',
    'header' => 'Example header',
    'message' => 'Example message'
  }
}
nginx['dir'] = "/var/opt/gitlab/nginx"
nginx['log_directory'] = "/var/log/gitlab/nginx"
nginx['worker_processes'] = 4
nginx['worker_connections'] = 10240
nginx['log_format'] = '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'
nginx['sendfile'] = 'on'
nginx['tcp_nopush'] = 'on'
nginx['tcp_nodelay'] = 'on'
nginx['gzip'] = "on"
nginx['gzip_http_version'] = "1.0"
nginx['gzip_comp_level'] = "2"
nginx['gzip_proxied'] = "any"
nginx['gzip_types'] = [ "text/plain", "text/css", "application/x-javascript", "text/xml", "application/xml", "application/xml+rss", "text/javascript", "application/json" ]
nginx['keepalive_timeout'] = 65
nginx['cache_max_size'] = '5000m'
nginx['server_names_hash_bucket_size'] = 64
nginx['status'] = {
 "enable" => false,
}

配置郵件服務

# 設定郵件擡頭髮件人地址
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com" 
gitlab_rails['smtp_port'] = 25 
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxx" 
gitlab_rails['smtp_domain'] = "163.com" 
gitlab_rails['smtp_authentication'] = "login" 
gitlab_rails['smtp_enable_starttls_auto'] = true 
gitlab_rails['smtp_tls'] = false 
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
# 設定郵件擡頭髮件人暱稱
user['git_user_name'] = "GitLab"

郵件部分參考小狐濡尾特此註明出處

郵件功能除錯命令

gitlab-rails console
Notify.test_email('***@163.com', 'Message Subject', 'Message Body').deliver_now

Gitlab映象自帶Postgresql配置

postgresql['enable'] = true
postgresql['ssl'] = 'off'

Gitlab映象自帶Redis配置

gitlab_rails['redis_host'] = "127.0.0.1"
gitlab_rails['redis_port'] = 6379
gitlab_rails['redis_password'] = '00e05611e8f68d6e9c9cc62f'
gitlab_rails['redis_database'] = 0
redis['enable'] = true
redis['username'] = "gitlab-redis"
redis['maxclients'] = "10000"
redis['maxmemory'] = "1gb"
redis['maxmemory_policy'] = "allkeys-lru"
redis['maxmemory_samples'] = "5"
redis['tcp_timeout'] = "60"
redis['tcp_keepalive'] = "300"
redis['port'] = 6379
redis['password'] = '00e05611e8f68d6e9c9cc62f'

Gitlab備份路徑配置

gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

監控Prometheus配置

prometheus['enable'] = true
prometheus['monitor_kubernetes'] = false                                         # 如果用k8s安裝Gitlab,此處應設定為true
prometheus['username'] = 'gitlab-prometheus'
prometheus['uid'] = nil
prometheus['gid'] = nil
prometheus['shell'] = '/bin/sh'
prometheus['home'] = '/var/opt/gitlab/prometheus'
prometheus['log_directory'] = '/var/log/gitlab/prometheus'
prometheus['scrape_interval'] = 15
prometheus['scrape_timeout'] = 15
prometheus['chunk_encoding_version'] = 2
prometheus['listen_address'] = '0.0.0.0:9090'                                    # 注意埠和之前docker run -p 9090一致
prometheus_monitoring['enable'] = true
# 以下為設定加入Prometheus的開關和配置項
node_exporter['enable'] = true
redis_exporter['enable'] = true
redis_exporter['log_directory'] = '/var/log/gitlab/redis-exporter'
redis_exporter['flags'] = {
  'redis.addr' => "127.0.0.1:6379",
  'redis.password' => '00e05611e8f68d6e9c9cc62f'
}
postgres_exporter['enable'] = true
gitlab_monitor['enable'] = true

配置過載

docker exec -t gitlab gitlab-ctl reconfigure
docker exec -t gitlab gitlab-ctl restart

結束

配置到處為止
內網使用,暫時不開啟HTTPS
自簽證書實現Gitlab HTTPS雙向認證部分等有空了再說吧

日常管理

  • 配置過載

    docker exec -t gitlab gitlab-ctl reconfigure
    docker exec -t gitlab gitlab-ctl restart
  • 備份恢復
    # 備份
    docker exec -t gitlab gitlab-rake gitlab:backup:create
    # gitlab還原
    docker exec -t gitlab gitlab-ctl stop unicorn
    docker exec -t gitlab gitlab-ctl stop sidekiq
    docker exec -t gitlab gitlab-rake gitlab:backup:restore BACKUP=1521789664_2018_03_23_10.5.6
    docker exec -t gitlab gitlab-ctl restart
    docker exec -t gitlab gitlab-rake gitlab:check SANITIZE=true

參考資料

三、安裝mysql

1、docker search mysql

2、docker pull docker.io/centos/mysql-56-centos7

3、docker run -d --name=mysql-db --hostname=mysql-db -p 20010:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-56-centos7:latest

用Navicat遠端連線,新建資料庫,字符集選擇如下:

四、安裝jira

1、docker search jira

2、docker pull docker.io/cptactionhank/atlassian-jira-software

3、docker run -d --name jira --hostname jira --link mysql-db:mysql -p 20011:8085 -p 20012:8080 -p 20013:8443 -p 20014:8090 -p 20015:22 -v /home/jira/opt:/opt/atlassian/jira -v /home/jira/var:/var/atlassian/application-data/jira cptactionhank/atlassian-jira-software:latest

(docker run --privileged=true -ti -v /home/wjira:/home -p 20011:8085 -p 20012:8080 -p 20013:8443 -p 20014:8090 -p 20015:22 --restart always cptactionhank/atlassian-jira-software:latest)

4、登陸jira頁面

http://localhost:20012

如果報錯,執行以下操作:

(1)在命令列介面輸入docker ps -a檢視容器id

(2)進入jira容器docker exec -ti f9ca3748bd4b /bin/bash

(3)重新啟動jira服務

cd /opt/atlassian/jira/bin

./shutdown.sh

./startup.sh

5、配置資料庫

重新開啟web頁面:http://localhost:20012

​ 選擇I'll set it up myself-Next

Database setup,選擇My Own Database,按以下資訊選擇和輸入

Database Type:MySQL

Hostname:mysql

Port:3306

Database:jiradb

Username:root

Password:123456

相關推薦

使用阿里資源centos7配置docker安裝gitlabmysqljira

Docker要求64位的系統且核心版本至少為3.10 一、安裝docker 1、新增yum源。 yum install epel-release –y yum clean all yum list 2、安裝並執行Docker。 yum install doc

阿里centos7安裝mysql5.6的方法

阿里雲的商業化產品現在使用的不少,使用阿里雲的ECS安裝mysql就變得很普遍。今天來講一下在阿里雲的centos7上安裝mysql5.6的方法。 1 下載 下載完成之後檢視一下都有哪些mysql的檔案,使用命令: yum repoli

第五篇:Centos7配置docker容器ssh登錄

方式 service col 客戶端連接 httpd 添加 遠程 初步 images 1.查看httpd容器是否運行2.啟動httpd容器3.默認情況下,我們只能在宿主機上通過如下方式連接容器說明:這是在宿主機連接容器直接有效的方法 我們能夠通過容器的IP地址連接容器呢?需

Centos7配置docker執行DotNetCore專案

流程: 1.在vmware上安裝centos作業系統 2.將centos的網路設定為橋接模式,固定IP 3.在vs上建立一個簡單的asp .net core專案,編譯後釋出 4.在centos上面安裝docker 5.在centos上安裝ftp並配置firewall(防火牆)和selinux 6.

阿里linux centos7部署tomcat之後,外網無法訪問的問題解決

最終解決方案: 阿里雲上預設開方的介面中,是沒有8080的,我們需要使用http或者https預設的80或者443埠. (實際的情況也確實如此) 修改tomcat的配置檔案,改為使用80埠即可 [root@iZ2ze3gwewjw57q999cco6Z

centos7下,docker安裝gitlab全過程

docker安裝gitlab 首先說明:安裝gitlab,建議至少使用4GB的可用記憶體,會預設安裝redis,nginx等元件 第一步,拉取gitlab映象 #docker pull gitlab/gitlab-ce 第二步 啟動docker容器 sudo do

在CentosDocker安裝gitlab

前言 GitLab 是一個用於倉庫管理系統的開源專案,使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務。安裝方法是參考GitLab在GitHub上的Wiki頁面 [ 百度百科 ] 開始 1 .GitLab官網地址:gitlab

阿里Kubernetes服務從零搭建GitLab+Jenkins+GitOps應用釋出模型的實踐全紀錄

關於GitOps的介紹,可以參考 GitOps:Kubernetes多叢集環境下的高效CICD實踐 1. 在&nbs

centos7修改docker加速映象為阿里

使用docker pull,命令下載映象太慢了,預設是從國外的,本文記錄下如何配置國內阿里雲競相加速方式。 阿里雲會為每個使用者提供一個專屬的加速地址。 有兩種方式可以配置 第一種 您可以通過修改daemon配置檔案/etc/docker/d

centos7 配置Javaweb---MySQL安裝配置亂碼解決

dog ces set div success 編碼問題 都是 下載 use 上一篇謝了關於jdk和tomcat的安裝。今天先更新一下有用的。 1. 不用關閉防火墻,把80端口添加進防火墻的開放端口。 firewall-cmd --zone=public --add-po

docker探索-CentOS7配置Docker的yum源並升級安裝docker1.13(十)

strong tro extras 配置 1.7 arc client 1.8 1.2 此處使用的是CentOS7,內核版本為 [root@localhost ~]# uname -r 3.10.0-327.el7.x86_64 該版本下,配置了yum的源為阿裏的鏡像源

centos7的postgresql10安裝配置

cli local 新建 repo down 切換 pos emctl rep 安裝數據庫 安裝參考官方文檔:https://www.postgresql.org/download/linux/redhat/ 1.Install the repository RPM: yu

CentOS7配置Marathon+Mesos+Docker實戰

選擇 支持 配置文件 url 端口 cep var back 奇數 配置多臺Mesos-master環境 生產環境中ZooKeeper是以宕機個數過半來讓整個集群宕機的。所以Mesos-master一般選擇奇數個節點來組成集群,隨著部署的Master節點增多可靠性也就增強,

記錄阿里ECS(Centos7.4)安裝mysql 8.0.X服務

#*.rpm介紹 大多數二進位制rpm包都包含在名稱中倒數第二個欄位中編譯rpm的體系結構。.rpm軟體包有那麼幾種 *.src.rpm 源程式包,要先通過編譯才能安裝 *.noarch.rpm 該包適用於任何架構 *.i*86.rpm 該包適用於intel cpu的電腦上執行 *.amd

阿里ECS centos7配置tomcat

準備:建立好developer目錄和tomcat子目錄 1、在 http://tomcat.apache.org/download-80.cgi  下載tomcat,通過Xftp拷貝到tomcat目錄下 2、解壓 tar -zxvf apache-tomcat-8

阿里 Linux Centos7安裝Tomcat8

  在官網下載對應的Linux版本的tomcat https://tomcat.apache.org/download-80.cgi   將apache-tomcat-8.0.53.tar.gz檔案使用檔案上傳工具,上傳到/usr/local中執行以下操作: 解壓縮 然

阿里伺服器centos7.4作業系統Apache配置https服務

原文地址:https://blog.csdn.net/qq_35399846/article/details/79247239 檔案說明: 證書檔案xxxxxxxxxxxxxx.pem,包含兩段內容,請不要刪除任何一段內容。 如果是證書系統建立的CSR,還包含:證書私鑰檔案xxx

阿里伺服器ECSubuntu安裝nginx後預設站點頁面開啟錯誤,顯示無法訪問此網站

問題:在新買的阿里雲伺服器ECS上安裝nginx後開啟預設頁面失敗,如下圖所示。   系統環境:Ubuntu 16.04.4 LTS64版本。 步驟回顧: root使用者下執行命令 apt-get install nginx; 在瀏覽器輸入公網IP 解決:   阿里雲控

域名阿里免費ssl證書配置安裝

去阿里雲盾申請 成功後下載 有三個檔案******.com_public.crt ******.com.key *******.com_chain.crt Apache安裝配置SSL證書方法教程(普通版) https://www .wosign.com/support/ssl-Apache1.htm 把

阿里Linux Centos7 安裝阿里SSL證書https服務

在阿里雲已經備案的域名那裡申請SSL證書 下載後把證書解壓後不要動,在伺服器上的,Apache的安裝目錄下建立cert目錄,並且將下載的全部檔案拷貝到cert目錄中。如果申請證書時是自己建立的CSR檔案,請將對應的私鑰檔案放到cert目錄下並且命名為xxxxxxxx.ke