1. 概述

    1. 最近学习 docker 遇到的 坑

1. dockerfile: 安装命令

  1. 概述

    1. 安装命令
    1. 选项参数里, 一定要 带 -y

      1. 不带的话, 基本会阻塞构建

2. 其他: 处理问题, 一定不能慌

  1. 概述

    1. 不要慌
  2. 认识

    1. 出现问题是常态, 不要慌
    2. 有日志先看日志
    3. 没日志再去网上找
    4. 尽量记得自己操作的步骤
      1. 控制变量

3. docker network: hosts 文件

  1. 概述

    1. 加入 docker network 的容器, hosts 文件不会有其他容器
  2. 场景

    1. docker 容器加入 docker network
  3. 看了两本书

    1. 书上都说

      1. hosts 文件里会加入别的容器
      2. 容器之间, 可以通过 主机名 ping 通
      1. 第一本 docker 书(修订版)
      2. docker 容器与容器云
  4. 结果

    1. 我没有发现 host 文件
    2. 当时使用的镜像里没有 ping 命令
  5. 我的处理

    1. 重建容器, 验证 hosts
    2. 调整命令, 验证 hosts
    3. 切换 busybox 进行, 验证 hosts
    4. 在 busybox 下, ping
      1. 卧槽, 居然是通的
      2. hosts 里没有, 也可以通
    5. 给 容器装上 ping, 发现也能通...
      1. 后来发现, 原来是其他的问题
  6. 总结

    1. 如果遇上某些 网络环境的问题, 可以先用 busybox 这类小镜像调试

4. redis: 关闭 protected 模式

  1. 概述

    1. 尝试关闭 redis 的 protected 模式
  2. 场景

    1. 使用 app 连接 redis 时, 提示异常

      1. 仔细看, 是 protected 模式

        1. 没有账号密码
        2. 只能 localhost 连
      2. 处理
        1. 思路1

          1. 关闭 protected 模式
        2. 思路2
          1. 添加 bind 地址
  3. 我的处理

    1. 最开始没看 异常

      1. 以为网断了, 所以搞了半天
    2. 看了异常
      1. 异常写得很清楚
    3. 尝试修改配置
      1. 进入 redis-cli 连接

        1. 修改 protected 模式属性 CONFIG SET protected-mode no
        2. 结果没成功
    4. 重启 redis, 添加命令行选项
      1. --protected-mode no
      2. 结果成功
  4. 总结

    1. 好好看异常提示

5. jenkins: workspace

  1. 概述

    1. jenkins 工作目录的路径
  2. 场景

    1. 设置 自定义workspace
    2. 配合 git
  3. freestyle

    1. git 的工程代码, 直接下载到 workspace 里

      1. 工程的名字目录直接没了
      2. 比如, 工程叫 demo, 下下来后, demo 目录直接没了, 内容在 workspace 里
  4. 多配置项目

    1. 我草这个东西真的有点麻烦

      1. 指定 axis 维度选项
      2. jenkins 会自建目录
        1. 场景

          1. aixs

            1. OS ubuntu
          2. 目录

            # workspace 是 /tmp/jenkins-buildenv/Docker_matrix_job/workspace
            # 其中规则, 你们感受一下...
            /tmp/jenkins-buildenv/Docker_matrix_job/OS=ubuntu/workspace/OS/ubuntu
  5. 总结

    1. 路径刚上来是有点难理解

      1. 有文档还好
      2. 没文档猜起来麻烦
    2. 如果涉及 -v, 多用 docker inspect 观察...

6. jenkins: 容器里执行 docker 命令

  1. 概述

    1. docker 远程执行
  2. 场景

    1. 容器里的 jenkins 脚本, 远程执行 docker 命令
  3. docker daemon

    1. 本质

      1. 带一个 restapi 的守护进程
      2. 本地的交互, 其实也是这个
  4. docker daemon: 暴露

    1. 修改配置文件

      # /lib/systemd/system/docker.service
      ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
  5. docker cli: 连接远程 daemon

    1. 添加环境变量

      export DOCKER_HOST=tcp://172.17.0.1:2375
    2. 在 dockerfile 里添加

    3. 在 命令行里添加选型啊

      -H http://172.17.0.1:2375
  6. 结论

    1. 远程访问开启, 原来还是很重要的

7. firewalld: 没事不要随便关闭

  1. 概述

    1. 不要随便关闭 firewalld
  2. 场景

    1. docker cli 连不上 docker daemon
    2. 我关闭了 dockerfile
  3. 结果

    1. docker cli 能连上了

    2. git 却克隆不了代码了

      1. 网关能 ping 通, dns 不同

        1. 导致我查了半天资料
      2. 后来看了看 workspace 里, git 代码是有的

        1. 说明之前的网络, 是通的...
        2. 于是开始反思, 之前到底做了啥...
    3. 在 firewall 里添加了 2375 端口的规则

      1. 搞定
  4. 结论

    1. firewalld 要好好学学

      1. 其实就是 iptables

8. jenkins: 成功失败

  1. 概述

    1. jenkins 脚本
  2. 结论

    1. exit 0 是成功
    2. 其他就是 失败

8. docker & jenkins 路径

  1. 概述

    1. docker 配合 jenkins 时的 路径问题
  2. 场景

    1. docker 里的 jenkins
    2. jenkins 使用 host 的 docker-daemon
  3. 问题

    1. 命令在 jenkins 里输入
    2. 实际执行, 是在 host
    3. 如果有 mount, 则实际挂载的目录, 是 host
  4. 结果

    1. 我只能尽量让同样的目录挂载多次
    2. 或者使用 同名目录, 把资料整两次...
    3. 反正目前没啥好结果

Docker - 最近的踩到的一些坑的更多相关文章

  1. 细数阿里云在使用 Docker 过程中踩过的那些坑

    昨天下午道哥在微信上丢给我一条新闻,看看,我们阿里云支持 Docker 企业版了.我打开一看,果然,阿里云发布了飞天敏捷版,开始支持企业级的 Docker 容器. 美国中部时间4月19日,阿里云在容器 ...

  2. Redis上踩过的一些坑

    来自: http://blog.csdn.net//chenleixing/article/details/50530419 上上周和同事(龙哥)参加了360组织的互联网技术训练营第三期,美团网的DB ...

  3. [转帖]美团在Redis上踩过的一些坑-5.redis cluster遇到的一些问题

    美团在Redis上踩过的一些坑-5.redis cluster遇到的一些问题 博客分类: redis 运维 redis clustercluster-node-timeoutfailover  转载请 ...

  4. 三分之一的程序猿之社交类app踩过的那些坑

    三分之一的程序猿之社交类app踩过的那些坑 万众创新,全民创业.哪怕去年陌生人社交不管融资与否都倒闭了不知道多少家,但是依然有很多陌生人社交应用层出不穷的冒出来.各种脑洞大开,让人拍案叫起. 下面我们 ...

  5. 【Fine原创】JMeter分布式测试中踩过的那些坑

    最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...

  6. 与webview打交道中踩过的那些坑

    随着HTML5被越来越多的用到web APP的开发当中,webview这一个神器便日渐凸显出重要地位.简要的说,webview能够在移动应用中开辟出一个窗口,在里面显示html页面,css以及js代码 ...

  7. 美团在Redis上踩过的一些坑-目录(本人非美团)(转)

    来自:http://carlosfu.iteye.com/blog/2254154 分为5个部分:    一.周期性出现connect timeout    二.redis bgrewriteaof问 ...

  8. 安装python爬虫scrapy踩过的那些坑和编程外的思考

    这些天应朋友的要求抓取某个论坛帖子的信息,网上搜索了一下开源的爬虫资料,看了许多对于开源爬虫的比较发现开源爬虫scrapy比较好用.但是以前一直用的java和php,对python不熟悉,于是花一天时 ...

  9. [原创]阿里云RocketMQ踩过的哪些坑

    由于公司的最近开始使用RocketMQ来做支付业务处理, 便开启了学习阿里云RocketMQ的学习与实践之路, 其中踩了不少的坑, 大部份是由于没有仔细查看阿里云的技术文档而踩的坑. 但是有一个非常大 ...

随机推荐

  1. openlayers轨迹播放

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. php弱语言特性-计算科学计数法

    php处理字符串时存在一个缺陷问题,如果字符串为“1e1”,本该是一个正常的字符串,但是php会将它认为是科学计数法里面的e: 也就是按照数学的科学计数法来说:1e1=10^1=10,因此php会把这 ...

  3. PAT (Advanced Level) Practice 1120 Friend Numbers (20 分) (set)

    Two integers are called "friend numbers" if they share the same sum of their digits, and t ...

  4. Python之六:模块

    模块包含了大量的函数方法和变量,我们可以用下面的语句调用模块: import 模块名 这样我们就可以在后面的语句中使用模块中的函数或者变量了.调用时只需用    模块名.函数名的方式调用即可 from ...

  5. HDU1548 奇怪的电梯(bfs求最少)

    There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 ...

  6. UnicodeDecodeError: 'gbk' codec can't decode byte 0xfe in position 45: illegal multibyte sequence

    常见的一种解码错误如题目所示,下面介绍该错误的解决方法 (1).首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’, encoding=’gbk’): (2).若(1)不能解决,可能是 ...

  7. ansible笔记(15):循环(二)with_items/with_list/with_together/with_flattened

    嵌套的列表(序列中的序列),示例如下: --- - hosts: 192.168.10.2 remote_user: root gather_facts: no tasks: - debug: msg ...

  8. 关于在Ubuntu中无法使用tree命令的原因

    初学linux系统的时候使用的是Ubuntu的操作系统,边看视频边学习,却发现很多命令行在自己使用的时候没有效果,只会盲目的百度,后面回过头来仔细一看才发现,原来终端早就给你答案了,只是自己一看到英语 ...

  9. js集合

    var list = {};//声明 List[0] = 52;//赋值 List[1] = 57;//赋值

  10. 火狐浏览器将网页保存为pdf

    目录 火狐打印功能 火狐插件 save as pdf 深夜更博仙女镇 @ 有时候查一些技术博客之类的,当时收藏了,过一阵子再想查看的时候发现404了,所以稳妥的办法还是将把网页保存为pdf. 火狐打印 ...