harbor(私有dockerhub) gitlab Jenkins nginx 搭建日記
阿新 • • 發佈:2020-10-05
我都是在docker的基礎上搭建的,前提安裝docker 和 docker-compose
安裝docker省略掉
docker-compose安裝
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
1.harbor下載
tar -xvf harbor-offline-installer-v2.1.0.tgz cd harbor cp harbor.yml.tmpl harbor.yml vi harbor.yml #修改以下內容 hostname = 127.0.0.1 #設定啟動ip,如果是外網訪問需要設定外網ip port: 80 #埠 harbor_admin_password = admin #設定admin使用者的密碼 data_volume: /data/harbor #設定儲存位置 #然後儲存後開始構建 ./prepare ./install.sh docker ps #看看有沒有啟動成功
2.安裝gitlab 編寫docker-compose 執行GITLAB_OMNIBUS_CONFIG配置參照官網
gitlab: image: "gitlab/gitlab-ce:latest" restart: always hostname: "gitlab.dust.com" environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.dust.com:8929' gitlab_rails['gitlab_shell_ssh_port'] = 2224 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = 'smtp.qq.com' gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = '****@qq.com' gitlab_rails['smtp_password'] = 'elpukadqpvyfebhe' gitlab_rails['smtp_domain'] = 'qq.com' gitlab_rails['smtp_authentication'] = 'login' gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = '****@qq.com' alertmanager['admin_email'] = '****@outlook.com' ports: - "8929:8929" - "2224:22" volumes: - "/data/gitlab/config:/etc/gitlab" - "/data/gitlab/logs:/var/log/gitlab" - "/data/gitlab/data:/var/opt/gitlab"
3.安裝Jenkins
docker container run \ --name jenkins-blueocean \ --detach \ --network jenkins \ --env DOCKER_HOST=tcp://docker:2376 \ --env DOCKER_CERT_PATH=/certs/client \ --env DOCKER_TLS_VERIFY=1 \ --publish 8085:8080 \ --publish 8086:50000 \ --volume /data/jenkins-data:/var/jenkins_home \ --volume /data/jenkins-docker-certs:/certs/client:ro \ jenkinsci/blueocean #設定資料夾的許可權 chown -R 1000 /data/jenkins-data chown -R 1000 /data/jenkins-docker-certs #重啟容器 docker stop jenkins-blueocean docker start jenkins-blueocean
4.nginx 部署
docker run -d --name nginx -p 80:80 -p 443:443 nginx
檢視存放目錄docker exec -it nginx /bin/bash
日誌檔案位置:/var/log/nginx
配置檔案位置: /etc/nginx
資源存放的位置: /usr/share/nginx/html
docker cp nginx:/var/log/nginx $pwd/logs
docker cp nginx:/etc/nginx $pwd/conf
docker cp nginx:/usr/share/nginx/html $pwd/html
docker stop nginx
docker rm nginx
docker run -d --name nginx -p 80:80 -p 443:443 \
-v $pwd/conf:/etc/nginx \
-v $pwd/html:/usr/share/nginx/html \
-v $pwd/logs:/var/log/nginx \
nginx