赞
踩
https://www.runoob.com/docker/centos-docker-install.html
https://docs.docker.com/engine/install/centos/
注意服务端口,若未在80端口,需要单独写明
首先需要将对外服务端口在防火墙放行,若使用云平台则还需要把对应端口加入到网络安全组
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
Drone CI通过容器部署特别方便,docker-compose.yml
配置参考drone-server和drone-runner-docker官方配置:
version: '3' services: drone-server: restart: always ## 容器自动重启 image: drone/drone:2 container_name: drone-server-cloudnative networks: ## 使用自定义网络,也可以不写 - drone-net-cloudnative ports: - "9901:80" ## 映射到宿主机的端口 volumes: - ./data:/var/lib/drone:rw environment: - DRONE_GITEE_CLIENT_ID=exxxx ## gitee中生成的CLIENT ID - DRONE_GITEE_CLIENT_SECRET=cxxxx ## gitee中生成的SECRET - DRONE_SERVER_HOST=ip:9901 ## 端口需要和映射至宿主机的一致 - DRONE_SERVER_PROTO=http - DRONE_RPC_SECRET=c64bab058885900124d31250b6780307 ## openssl rand -hex 16 自动生成 - DRONE_USER_CREATE=username:xxxx,admin:true ## gitee中的用户名 - TZ=Asia/Shanghai #- DRONE_LOGS_DEBUG=true ## 日志调试开关 #- DRONE_LOGS_TRACE=true ## 日志调试开关 - DRONE_LOGS_TEXT=true - DRONE_LOGS_PRETTY=true - DRONE_LOGS_COLOR=true drone-runner-docker: restart: always ## 容器自动重启 image: drone/drone-runner-docker:1 container_name: drone-runner-docker-cloudnative networks: - drone-net-cloudnative ports: - "9902:3000" ## 映射到宿主机的端口,用于提供web页面,显示任务执行情况,可不映射 volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DRONE_RPC_PROTO=http - DRONE_RPC_HOST=drone-server-cloudnative - DRONE_RPC_SECRET=c64bab058885900124d31250b6780307 ## 与server服务中保持一致 - DRONE_RUNNER_NAME=docker-worker - DRONE_RUNNER_CAPACITY=2 - TZ=Asia/Shanghai - DRONE_DEBUG=true #- DRONE_LOGS_DEBUG=true #- DRONE_LOGS_TRACE=true #- DRONE_UI_USERNAME=admin ## runner的web页面用户信息 #- DRONE_UI_PASSWORD=password depends_on: - drone-server networks: ## 可以不自定义 drone-net-cloudnative: driver: bridge
运行后观察会发现时区配置未生效,是因为alpine镜像中没有Asia/Shanghai时区文件,需要进入到容器后,安装一下时区文件包,
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories ## 使用国内仓库镜像
apk add --no-cache tzdata \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ ## 若添加TZ参数,则可不执行
&& echo "Asia/Shanghai" > /etc/timezone \ ## 若添加TZ参数,则可不执行
&&rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache ## 清除缓存
访问Drone CI服务,自动跳转到Gitee授权,登录后,激活对应项目,编写drone.yml
即可
参考:https://docs.drone.io/pipeline/docker/overview/
drone/drone镜像最好选择最新的版本,旧版本对gitee的支持不完整,建议是2.12之后的版本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。