bingoogolapple.github.io icon indicating copy to clipboard operation
bingoogolapple.github.io copied to clipboard

开源镜像学习笔记

Open bingoogolapple opened this issue 8 years ago • 5 comments

清华大学开源软件镜像站

安装 Docker

  • 安装 docker
yum update
curl -fsSL https://get.docker.com/ | sh
  • 启动 docker
systemctl start docker
  • 查看是否为启动状态
systemctl status docker
  • 开机自启动
systemctl enable docker

配置国内镜像

  • mkdir -p /etc/docker && vim /etc/docker/daemon.json
{ 
    "registry-mirrors": ["https://registry.docker-cn.com"] 
}
systemctl daemon-reload
systemctl restart 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

bingoogolapple avatar Jan 25 '17 01:01 bingoogolapple

安装 ShadowSocks

  • 启动容器
docker run -d -m 192M -p 8003:8003 -p 6660-6680:6660-6680 --name bga-ss bingoogolapple/bga-ss:v3
  • /opt/nginx/conf/vhost/kexueshangwang.bingoogolapple.cn.conf
upstream kexueshangwang {
    server 127.0.0.1:8003;
    ip_hash;
}

server {
    listen 80;
    server_name kexueshangwang.bingoogolapple.cn;

    location / {
      proxy_set_header        Host $host:$server_port;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://kexueshangwang;
      proxy_read_timeout  90;
    }
}

bingoogolapple avatar Feb 03 '17 07:02 bingoogolapple

GitLab

http://blog.gezhiqiang.com/2017/03/01/gitlab-ce-install/ https://cloud.tencent.com/developer/article/1010595 https://segmentfault.com/a/1190000012279248

启动新的容器

docker run --detach -m 2048M --hostname gitlab.bingoogolapple.cn --env GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.bingoogolapple.cn:9080';nginx['listen_port'] = 80;gitlab_rails['gitlab_ssh_host'] = 'gitlab.bingoogolapple.cn';gitlab_rails['gitlab_shell_ssh_port'] = 9022;unicorn['worker_processes'] = 2;postgresql['shared_buffers'] = '128MB';postgresql['max_worker_processes'] = 4;sidekiq['concurrency'] = 12;" --publish 9080:80 --publish 9022:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

/opt/nginx/conf/vhost/gitlab.bingoogolapple.cn.conf

upstream gitlab {
    server 127.0.0.1:9080;
    ip_hash;
}

server {
    listen 80;
    server_name gitlab.bingoogolapple.cn;

    location / {
        proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;

        proxy_pass          http://gitlab;
        proxy_read_timeout  90;
    }
}

~/.ssh/config

Host gitlab.bingoogolapple.cn
    User bingoogolapple
    Hostname gitlab.bingoogolapple.cn
    IdentityFile ~/.ssh/bga_rsa

代理 ssh(这一步不用配置)

stream {
    upstream ssh_gitlab {
        server 127.0.0.1:9022;
    }

    server {
        listen 9023;
        proxy_connect_timeout 20s;
        proxy_pass ssh_gitlab;
    }
}

bingoogolapple avatar Aug 13 '18 16:08 bingoogolapple

GitLab Runner

docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest

https://scarletsky.github.io/2016/07/29/use-gitlab-ci-for-continuous-integration/ http://blog.gezhiqiang.com/2017/03/01/gitlab-runner-install/

bingoogolapple avatar Aug 14 '18 11:08 bingoogolapple

Jenkins

Master 节点

  • 启动 master 节点容器
docker run -d -m 1024M --name jenkins-master -v jenkins-master-home:/var/jenkins_home -p 8010:8080 -p 50010:50000 jenkins/jenkins:lts
  • /opt/nginx/conf/vhost/ci.bingoogolapple.cn.conf
upstream ci {
    server 127.0.0.1:8010;
    ip_hash;
}

server {
    listen 80;
    server_name ci.bingoogolapple.cn;

    location / {
        proxy_set_header        Host $host:$server_port;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;

        proxy_pass          http://ci;
        proxy_read_timeout  90;
    }
}

jnlp-slave 节点

  • 启动 jenkins-slave1 节点容器
docker run -d -m 128M --name jenkins-slave1 --env JENKINS_AGENT_WORKDIR=/home/jenkins/agent --env JENKINS_URL=http://ci.bingoogolapple.cn --env JENKINS_TUNNEL=ci.bingoogolapple.cn:50010 --env JENKINS_SECRET=f6c4ac8e64f986d363ca732fc7e0da9e7bf7ec1b75e65d2af7900787e4596f62 --env JENKINS_AGENT_NAME=jenkins-slave1 jenkins/jnlp-slave

image

ssh-slave 节点

  • 生成公钥和私钥
ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • 链接从节点时用户名需要叫 jenkins image

  • 启动 jenkins-slave2 节点

docker run -d -m 128M --name jenkins-slave2 --env JENKINS_SLAVE_SSH_PUBKEY="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDQ3CC4T39fIq5enWEw2Zj1oO7BKAEIe1kgg+MXl12eqXpwwsp5En3w52RwoKIhqlv2XMYVTNsUpFSEpKm8yo4p2TABcPPq4tsatNTyMg19jNyJ1oKEH+HSJzj4MAS32HM0snWJ+jopj19ax8+ExJXa4b9hTuLhYtgT21kgpn7NE3k8T7ay0pprJZ/Yx5samE2hnzi1XMbuXbhIWgaJSyP4QGEQqcFQxH2bIy5p+bSfjE8BlItVz8iE+qsre6m0aJhnVGp0Sf2aXKuceLutAXM60rKrj0neZF0URDWT1bSR464SybpxLSfnbbmlsbzov/ERS3EvizhIe0DioKWyrPV8vpWPT1c5RfB0It62A5Zet4zRv4NY2HbaMEQUaB8HxIE140+p5rYjMRXOP/OhMQlYckac0BGzq3s4BfYPf3WdrZfQVslOC8bWOw6x0zAEuseGTK5Lfpz57cXW1qfUkU/utDsuRErbMCVsz/f1eqYpAs7u5M1lBfPh43Ckxu8kSD7XwqwMW76JijQYSBF1EusyPklD0CO0WSGm+/1bZdRF9FOVCXFBBHQcEP1Kvf/Rm0PYE7Hk3AqmJcYGxbWB6AGQpcSCOzTxAoGJq/LOhbvY+2oDCaaMPKyf45DhR6MOiXh25is9QJP8q8gKgd6fMRxf5tnyUSe8DDc8ZyqB+wXecw== [email protected]" jenkinsci/ssh-slave

image

  • 停止并销毁测试容器
docker stop jenkins-master jenkins-slave1 jenkins-slave2 && docker rm jenkins-master jenkins-slave1 jenkins-slave2 && docker volume rm jenkins-master-home

bingoogolapple avatar Oct 08 '18 15:10 bingoogolapple

MySQL

  • docker run -d -p 3306:3306 --name as_mysql -v ~/Desktop/DockerData/mysql:/var/lib/mysql -v ~/Desktop/DockerData/attendance_sys.sql:/attendance_sys.sql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=attendance_sys mysql:5.7.16 --lower-case-table-names=1

导出 attendance_sys 数据库

docker exec as_mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > ~/Desktop/DockerData/all-databases.sql

导出 attendance_sys 数据库

docker exec as_mysql sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" attendance_sys' > ~/Desktop/DockerData/attendance_sys.sql

恢复 attendance_sys 数据库

docker exec -it as_mysql bash
mysql -u root -p$MYSQL_ROOT_PASSWORD
use attendance_sys;
source /attendance_sys.sql;

bingoogolapple avatar Dec 06 '18 07:12 bingoogolapple