[经验交流] docker in docker 的变通实现方法
最近在做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 把做好的镜像推送到公司内网镜像服务器里。
[经验交流] docker in docker 的变通实现方法的更多相关文章
- [经验交流] Apache Mesos Docker集群初探
前言 因工作需要,我对基于Apache Mesos 的 Docker 集群作了一点研究,并搭建了一套环境,以下是资料分享. 1. Apache Mesos概述 Apache Mesos是一款开源群集管 ...
- Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别
Dcoker Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我 ...
- [转帖]Docker里运行Docker docker in docker(dind)
Docker里运行Docker docker in docker(dind) http://www.wantchalk.com/c/devops/docker/2017/05/24/docker-in ...
- [经验交流] Mesos-dns 和 Marathon-lb 简要使用方法
Mesos-dns 和 Marathon-lb 是mesosphere 官网提供的两种服务发现和负载均衡工具.官方的文档主要针对DCOS,针对其它系统的相关中文文档不多,下面是我在Centos7上的安 ...
- Docker指定multiple Insecure registry的方法
Docker如果需要从非SSL源管理镜像,需要配置Docker配置文件的insecury-registry参数,一般在如下位置修改其配置文件: * /etc/sysconfig/docker * /e ...
- 【Docker】docker /var/lib/docker/aufs/mnt 目录满了,全是垃圾数据,咋搞?
命令: #!/bin/bash # 推荐方式 docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume ...
- jenkins和docker 使用docker作为slave
使用docker作为jenkins slave. 文章来自:http://www.ciandcd.com文中的代码来自可以从github下载: https://github.com/ciandcd 参 ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- jenkins+docker 持续构建非docker in docker jenkins docker svn maven
工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目sprin ...
随机推荐
- 如何在MATLAB R2010a 中使用Visual C++ 2010编译器
安装补丁VS2012MEXSupport.zip http://www.mathworks.com/matlabcentral/answers/93013-how-can-i-use-microsof ...
- 关于break和continue的区别
//break是结束整个循环体,continue是结束单次循环 比方说: while(x++ < 10){ if(x == 3) { break; } printf("%d\r\n&q ...
- HttpModule的认识
1.asp.net的HTTP请求处理过程 说明: (1).客户端浏览器向服务器发出一个http请求,此请求会被inetinfo.exe进程截获,然后转交给aspnet_isapi.dll进程,接着它又 ...
- runtime 初入
一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C语言,函数的调用在编译的时候会决定调用哪个函数. 对于OC的函数,属于 ...
- A - 迷宫问题
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Pra ...
- 用.NET从外部dwg文件导入块
翻译并引自Kean's blog的两篇文章: http://through-the-interface.typepad.com/through_the_interface/2006/08/import ...
- 防止sql注入
sqlmap 较专业的sql注入工具YII2 activeform 注意传过来的modle的rules规则 <?php$form=\yii\widgets\ActiveForm::begi ...
- web前端的学习.
web前端的了解 1.前端技术包括JavaScript.ActionScript.CSS.xHTML等“传统”技术与Adobe AIR.Google Gears,以及概念性较强的交互式设计,艺术性较强 ...
- Xcode 6制作动态及静态Framework
技术交流新QQ群:414971585 有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Frame ...
- C#的提交表单方式主要有两种WebClient与HttpWebRequest
根据黄聪:C#模拟网站页面POST数据提交表单(转) using System; using System.Collections.Generic; using System.IO; using Sy ...