最近在做CI持续集成环境的容器化,其中一个工作是:在容器中构建容器镜像。

对于这个需求,网上有一些 Docker in Docker 的方法,具体需要修改宿主机的配置。这种方式在单机环境下、对安全要求不高的情况下可以实施,但是在Kubernetes 集群中、以及安全要求高的情况下可能存在问题和风险。

其实,可以通过下述工作变通的实现这个功能:

1. 建立一台独立的 Docker 服务器

假定 IP 为:192.168.1.10;

该服务器的 docker 加参数 -H tcp://192.168.1.10:2376 运行,开通 REST API,专门提供给容器使用,用于构建容器镜像;

2. Docker 容器执行 docker 命令时加 -H 参数

如:docker -H tcp://192.168.1.10:2376 build -f Dockerfile -t test .

这样就可以了:)

加了这个参数后,Dockerfile 里的命令都按照我们设想的运行。比如:COPY,会把容器内的文件COPY 到制作好的镜像里。而镜像储存在 192.168.1.10上;最后可以用 docker -H tcp://192.168.1.10:2376 push 把做好的镜像推送到公司内网镜像服务器里。

最新文章

  1. 安装JBOSS
  2. 使用javaScript实现简单倒计时功能
  3. dns (域名系统)
  4. 6.Inout双向端口信号处理方法
  5. c++ string c_str() 和data()区别
  6. Android 获取天气预报
  7. python np.linspace
  8. Shortest Prefixes
  9. 蓝桥杯 C语言 入门训练 Fibonacci数列
  10. Animations and transitions
  11. P4136 谁能赢呢?
  12. 阿里云windows server 2012 TIME_WAIT CLOSE_WAIT
  13. Linux下Qt Creator编辑器无法输入中文解决
  14. PAT A1021 Deepest Root (25 分)——图的BFS,DFS
  15. Redis数据"丢失"讨论及规避和解决的几点总结
  16. Zoom 会议系统
  17. USACO 2012 December ZQUOJ 24122 Scrambled Letters(二分)
  18. Ios开发之Category
  19. Activity服务类-5 IdentityService服务类
  20. AsyncTask 和 Thread 区别

热门文章

  1. PCH文件
  2. Python学习感悟
  3. Javascript 事件对象(四)一个事件绑定多个不同的函数
  4. 加密web.config
  5. 嵌入式(Embedded)Neo4j数据库访问方法
  6. easyui datagrid 合并单元格
  7. 数论 UVALive 2756
  8. 编写安装中断7ch的中断例程:将一个以0结尾的字符串,转化为大写
  9. 使用Githua管理代码
  10. 【引】objective-c,3:关于block