文章

k8s - drone的安装

k8s - drone的安装

k8s -云原生Ci工具 drone

https://docs.drone.io/

https://www.drone.io/

跟着官方文档走一圈。

使用docker-compose一键搭建服务

失败经历

背景介绍: mac安装了 【Docker Destop】,然后挂在执行文件docker时,就用不了docker命令。

1
2
3
ll /usr/local/bin/docker
lrwxr-xr-x@ 1 root  wheel  54 Dec 29 14:13 /usr/local/bin/docker -> /Applications/Docker.app/Contents/Resources/bin/docker

比如挂载/usr/local/bin/docker 这个到容器中,会发现这个不存在的,本身就是一个软连接。

然后我改成了/Applications/Docker.app/Contents/Resources/bin/docker, 但是运行不起来,yml文件执行就提示这个:

1
2
3
4
Error response from daemon: mounts denied: 
The path /Applications/Docker.app/Contents/Resources/bin/docker is not shared from the host and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> Resources -> File Sharing.

然后我共享了目录…能执行yml文件了,但是在容器中却不能执行该命令:

1
2
3
4
5
6
/ # docker info
/usr/local/bin/docker: line 1: 
                               : not found
/usr/local/bin/docker: line 2: syntax error: unexpected "("
/ # 

放弃使用这种方式,到服务器上来一遍看看。

出现clone disable之类的错误,也就是下载不了代码。

本地直接用上一体的

也是阻塞在第一步,没有任何提示。我怀疑是gogs的版本太高了,等下次有时间,降低一下试试看,附上docker-compose.yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#Aversion: '3.8'
services:
  gogs-server:
    image: gogs/gogs:0.13.3
    container_name: gogs-server
    restart: always
    ports:
      - "10880:3000"
      - "10022:22"
    volumes:
      - ./gogs/:/data
      - /etc/localtime:/etc/localtime:ro  # 只读挂载
    networks:
      - drone-net
  drone-server:
    image: drone/drone:latest
    container_name: drone-server
    restart: always
    ports:
      - "8880:80"
    volumes:
      - ./data/:/data
      - /etc/localtime:/etc/localtime:ro  # 只读挂载
    environment:
      - DRONE_AGENTS_ENABLED=true # admin 的密码
      - DRONE_GOGS_SERVER=http://192.168.110.170:10880
      - DRONE_RPC_SECRET=secret
      - DRONE_SERVER_HOST=192.168.110.170:8880
      - DRONE_SERVER_PROTO=http
      - DRONE_GOGS_SKIP_VERIFY=true
    networks:
      - drone-net
    depends_on:
      - gogs-server

  drone-runner:
    image: drone/drone-runner-docker:latest
    container_name: drone-runner
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro  # 只读挂载
      - /etc/localtime:/etc/localtime:ro  # 只读挂载
    environment:
      - DRONE_RPC_PROTO=http # admin 的密码
      - DRONE_RPC_HOST=192.168.110.170:8880 # 不使用192.168.110.170:8880
      - DRONE_RPC_SECRET=secret
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_RUNNER_NAME=my-runner
    networks:
      - drone-net
    depends_on:
      - drone-server

networks:
  drone-net:
    driver: bridge

本文由作者按照 CC BY 4.0 进行授权