drone学习笔记-发布镜像

测试drone部署镜像又遇到N个坑。第一个就是拉取镜像被墙。好吧,这个可以通过国内镜像解决。另一个就是一直在报的错误

Failed to create btrfs snapshot: inappropriate ioctl for device

硬件设置还是synology 716 + II
.drone.yml

# workspace:
#   base: /go
#   path: src/test/demo

pipeline:
  # build:
  #   image: golang:latest
  #   commands:
  #     - go test
  publish:
    image: plugins/docker
    repo: sunsl/demo
    tags : latest
    debug: true
      
# services:
#   database:
#     image: mongo:latest

编译错误

群晖docker信息

从信息中可以看到 Storage Driver为btrfs
Use the BTRFS storage driver文中有这样的提示:

Note: The btrfs storage driver is only supported on Docker CE on Ubuntu or Debian, and Docker EE / CS Engine on SLES.

折腾了一天多的时间,看到这里郁闷了,好吧暂时放弃在群晖下测试drone,换服务器测试.....

==,先梳理下思路,看看还有什么没测试到的地方

  1. docker运行在btrfs存储上
  2. docker启动drone的server和agent容器
  3. drone根据配置文件启动一个测试容器(与drone是同一层级的容器)
  4. 测试容器内启动一个docker并根据dockerfile生成镜像文件(Docker in Docker)

逐步测试:

  1. 在最外层测试创建镜像 (测试通过)

Dockerfile

FROM alpine
RUN echo "Hello docker!"
RUN echo "make dir"
RUN mkdir -p /data/db
RUN echo "expose port"
EXPOSE 8000

编译

 sudo docker build -t sunsl/demo .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
 ---> 7328f6f8b418
Step 2 : RUN echo "Hello docker!"
 ---> Running in ce54f9d9a8e6
Hello docker!
 ---> ef0ff48accdc
Removing intermediate container ce54f9d9a8e6
Step 3 : RUN echo "make dir"
 ---> Running in 6fa6e5a214e9
make dir
 ---> eae38249e291
Removing intermediate container 6fa6e5a214e9
Step 4 : RUN mkdir -p /data/db
 ---> Running in 7ff9d7c7f1bd
 ---> cb5244f6649e
Removing intermediate container 7ff9d7c7f1bd
Step 5 : RUN echo "expose port"
 ---> Running in 36e80521a0b2
expose port
 ---> aa9dc796f37a
Removing intermediate container 36e80521a0b2
Step 6 : EXPOSE 8000
 ---> Running in 686876f7af63
 ---> b6081a0bce0d
Removing intermediate container 686876f7af63
Step 7 : RUN echo "completed!!!"
 ---> Running in c227d0885785
completed!!!
 ---> 610405572a84
Removing intermediate container c227d0885785
Successfully built 610405572a84
  1. 启动一个library/docker在其内部创建镜像(Docker in Docker) 测试正常!!!
sudo docker run -it --privileged --name some-docker -d docker:17.07.0-ce-dind

admin@sunsl-dev:~$ sudo docker run -it --privileged --name some-docker -d docker:17.07.0-ce-dind
f131d5b26279e7023d6c5a6224c63e1aaa96ff4882aa3975a14031293a51712c

admin@sunsl-dev:~$ sudo docker run -it --rm --link some-docker:docker docker sh
~ # mkdir docker
~ # vi Dockerfile
~ # docker build -t sunsl/demo .
Sending build context to Docker daemon  3.584kB
Step 1/7 : FROM daocloud.io/library/alpine:latest
 ---> 7328f6f8b418
Step 2/7 : RUN echo "Hello docker!"
 ---> Running in 3d04694eef2c
Hello docker!
 ---> 6635ba3812c5
Removing intermediate container 3d04694eef2c
Step 3/7 : RUN echo "make dir"
 ---> Running in 4d09d0b04bcb
make dir
 ---> 30fc023d529e
Removing intermediate container 4d09d0b04bcb
Step 4/7 : RUN mkdir -p /data/db
 ---> Running in 4947b984c06f
 ---> 34a97a2eb15e
Removing intermediate container 4947b984c06f
Step 5/7 : RUN echo "expose port"
 ---> Running in 4f70ac65e998
expose port
 ---> a45dd54382f5
Removing intermediate container 4f70ac65e998
Step 6/7 : EXPOSE 8000
 ---> Running in 172ee2942a7e
 ---> c41f37ed56d8
Removing intermediate container 172ee2942a7e
Step 7/7 : RUN echo "completed!!!"
 ---> Running in a73429ff68c8
completed!!!
 ---> ba0d6edfd0db
Removing intermediate container a73429ff68c8
Successfully built ba0d6edfd0db
Successfully tagged sunsl/demo:latest
  1. 测试是否与群晖登录权限有关 (无效)
    手动测试全部正常,考虑是否是与权限有关。因不知道drone是否在启动docker in docker是追加了权限,所以尝试启动群晖的root权限运行drone并设置docker的--privileged参数 。参考:群晖root密码设置

4.想到一个问题,在手动测试docker in docker时的info信息如下:

admin@sunsl-dev:~$ sudo docker run -it --rm --link some-docker:docker docker info
……
Server Version: 17.07.0-ce-rc2 #版本号
Storage Driver: vfs            #这里才是重点
……
Kernel Version: 3.10.102
Operating System: Alpine Linux v3.6 (containerized)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.719GiB
……

详细测试记录:docker run docker 手动测试记录


看到区别了吗?群晖存存格式是btrfs,而docker内用的是vfs格式!!!跪了!!!
然后....TMD继续找资料,如何设置配置文件啊。

storage_driver
supports aufs, overlay or vfs drivers

.drone.yml

……省略其它pipeline部分
publish:
    image: plugins/docker
    registry: 192.168.123.202:55000
    repo: 192.168.123.202:55000/sunsl/demo
    tags : latest
    debug: true
    insecure: true         #私有仓库未设置HTTPS需要启用这个选项
    storage_driver: vfs    #出错原因就是它
……省略其它pipeline部分
两天的成果啊!!!

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,514评论 15 147
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,382评论 0 27
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,477评论 0 120
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 7,400评论 2 96
  • 7点下班,想着回家运动,为了减肥,一杯咖啡。 9点,一直减肥,控制食欲,终暴饮暴食,为了减肥,两杯咖啡。 玩了一天...
    嵇嵇阅读 187评论 0 0