docker+gitea+drone+rancher+traefik

1,268 阅读2分钟

「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

docker

阿里云脚本一键安装: curl -fsSL get.docker.com | bash -s docker --mirror Aliyun

sudo systemctl restart docker

gitea

网址: gitea.io/zh-cn/

所有下载均包括 SQLite, MySQL 和 PostgreSQL 的支持,同时所有资源均已嵌入到可执行程序中,这一点和老版本有所不同。 基于二进制的安装非常简单,只要从 下载页面 选择对应平台,拷贝下载URL,执行以下命令即可(以Linux为例):

wget -O gitea https://dl.gitea.io/gitea/1.15.6/gitea-1.15.6-linux-amd64
chmod +x gitea

测试

在执行了以上步骤之后,你将会获得 gitea 的二进制文件,在你复制到部署的机器之前可以先测试一下。在命令行执行完后,你可以 Ctrl + C 关掉程序。

./gitea web

traefik

  • docker安装
version: '3'

services:

  traefik:
    container_name: traefik
    image: traefik:v2.3.4
    restart: always
    ports:
      # The HTTP port
      - "80:80"
      # The Web UI (enabled by --api.insecure=true)
      - "8080:8080"
    networks:
      - traefik

    # Enables the web UI and tells Traefik to listen to docker
    command: 
      - "--api.insecure=true"
      - "--providers.docker"
    volumes:
      # 仅限标准的 Linux 环境
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./config/:/etc/traefik/config/:ro
      - ./ssl/:/data/ssl/:ro
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
    healthcheck:
      test: ["CMD-SHELL", "wget -q --spider --proxy off localhost:8080/ping || exit 1"]
      interval: 3s
      retries: 12
    logging:
      driver: "json-file"
      options:
        max-size: "1m"

networks:
  traefik:
    external: true

docker-compose up -d 后台运行加-d

drone

  • docker安装
version: '3'
services:
  drone-server:
    restart: always
    image: drone/drone:1
    ports:
      - "9996:80"
    volumes:
      - ./data/drone/:/var/lib/drone/
      - ./data/data/:/data/
    environment:
      - DRONE_GITEA_SERVER=http://gitea.*******.top:3000
      - DRONE_GITEA_CLIENT_ID=****************************
      - DRONE_GITEA_CLIENT_SECRET=****************************
      - DRONE_SERVER_HOST=drone.**********.top
      - DRONE_SERVER_PROTO=https
      - DRONE_RPC_SECRET=****************************
  drone-runner-docker:
    restart: always
    image: drone/drone-runner-docker:1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=drone-server
      - DRONE_RPC_SECRET=c9652c890a5affc3ba02c9ca591011bc

## 客户端id  ****************************
## 客户端密钥 ****************************

安装视频: www.bilibili.com/video/BV1cy…

参考文档网址: lidong.xin/devops/S3-D…

rancher

网址: docs.rancher.cn/

  • docker 下载rancher镜像
docker pull rancher/rancher

创建挂载目录

mkdir -p /docker_volume/rancher_home/rancher
mkdir -p /docker_volume/rancher_home/auditlog

docker run

docker run -d --restart=unless-stopped -p 880:80 -p 843:443 \
-v /docker_volume/rancher_home/rancher:/var/lib/rancher \
-v /docker_volume/rancher_home/auditlog:/var/log/auditlog \
--name rancher rancher/rancher  

查看启动结果

docker ps

访问rancher https://ip:843/