从Jenkinspipe道调用Docker容器,该容器也在Docker上作为Docker容器运行(适用于Windows 10)

我已经在Windows 10上安装了docker for Windows。拉出最新的Jenkins图像并启动一个容器。 jenkins启动并运行。 在我的Jenkinspipe道中,我构build了节点应用程序。 我想要通过Jenkinspipe道构build这个节点应用程序,但是在另一个容器(从节点和angular度图像运行的docker容器)内。 我是docker工人和学习的新手。 一步一步的帮助,将不胜感激。 谢谢

docker-machine在Linux上的必要性

根据官方的docker文件 , Docker Machine是一个工具,可以让你在虚拟主机上安装Docker Engine,并用docker-machine命令pipe理主机。 由于Docker引擎可以直接安装在Linux上,我的问题是在Linux环境下工作时是否有实际需要docker-machine用例

docker工具箱Windows 7:从局域网断开连接时停止工作

在我们公司,我们使用docker工具箱通过VirtualBox在windows 7机器上运行docker。 docker工具箱安装程序在需要pipe理员权限的Windows机器上创build一个networking适配器。 安装完成后,我们可以使用docker-machine创build一个boot2docker虚拟机,并通过docker-machine env连接。 一切都很好。 但是,从公司networking断开连接时,设置会中断。 现在不可能再连接到现有的虚拟机。 docker机器env myvm Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: connectex: An attempt was made to access a socket in a way forbidden by its access permissions. You can attempt to regenerate them […]

我如何使用GKE的gcloud sql代理连接到gcloud sql

我有一个Rails应用程序configuration和使用MySql2gem。 我已经在GKE上成功部署了K8。 我已经设置了我的服务帐户,可以访问GKE GCE和SQl相关的所有内容。 我已经将GKE权限授予SQL。 我严格遵循了这一点: https://github.com/GoogleCloudPlatform/container-engine-samples/tree/master/cloudsql 我仍然得到这个错误,当我在浏览器中拉起应用程序:“失去连接到MySQL服务器'读取初始通信数据包',系统错误:0” 据我所知,这表明代理无权访问gcloud SQL实例。 请,这是几天! 我需要帮助! 甚至不知道如何麻烦拍摄! 提前致谢

在RESTful API中使用Docker容器来执行不可信代码的安全性和性能限制是什么?

我正在开发一套用于提供一些数据分析的RESTful API。 在调用API时,客户端也将能够传递脚本函数作为附加参数(并且这些函数将在分析pipe道期间执行)。 数据本身将从各种来源(如Amazon S3,客户端的Dropbox或Google云存储)中检索。 我希望能够在一个非常受控和隔离的环境中执行客户端脚本。 因此,我想为每个客户端请求实例化一个Docker容器,并在该受控环境中执行处理pipe道以及客户端脚本。 所以基本上,RESTful端点会dynamic实例化Docker容器以处理客户端请求。 完成后,处理结果将被推回到Dropbox / S3 / Google云端存储,此时对应的docker容器也将被移除或重新分配给另一个请求。 编辑1 : 从RESTful API的angular度来看,客户端请求将被接受(HTTP 202)并被推送到一个处理队列中。 处理队列中的每个请求都将在未来的某个时刻依次分配给docker集装箱。 客户端将能够使用另一个RESTful端点查询处理的状态。 编辑2 :这是一个链接解释类似的方法: https : //medium.com/aws-activate-startup-blog/sandboxing-code-in-the-era-of-containers-294edb3a674#.19882q2g5 我的问题: 这种方法对性能的影响是什么? 换句话说,系统地创build用于处理的docker容器而不是使用工作进程的性能成本是多less。 这种方法是否真的增加了额外的安全性?

maven-docker-plugin:如何获取容器的IP地址

我是Docker和fabric8的maven-docker-plugin docker maven-docker-plugin新手。 我想用两个容器做一些集成testing,一个用我的webapp部署,另一个用数据库。 更新:我可以运行这两个容器使用这些命令: docker run –name db -p 27017:27017 mongo docker run –name as -p 8080:8080 –link db mycustom/wildfly /opt/jboss/wildfly/standalone/bin/standalone.sh -b 0.0.0.0 -Ddbhost=172.17.0.2 -Ddbport=27017 这是我使用的dockerfile: FROM fpezzati/wildflyogm ARG webapp COPY $webapp /opt/jboss/wildfly/standalone/deployments/ EXPOSE 8080 CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"] 现在我想使用fabric8 maven-docker-plugin docker maven-docker-plugin运行这两个容器。 在这一点上,我必须弄清楚如何使用maven-docker-plugin -Ddbhost=${dbhost} -Ddbport=${dbport} maven-docker-plugin来表示一个能够使用两个参数-Ddbhost=${dbhost} -Ddbport=${dbport}的run命令,其中${dbhost}和${dbport}应该是具有数据库容器IP地址和暴露端口的两个maven属性。 我怎么能像在手边的例子中那样expression一个运行命令,并使用fabric8 maven-docker-plugin docker maven-docker-plugin让我的webapp知道数据库的IP地址? 更新:我清理了我在我的pom.xml和dockerfile中做了一些混乱。 现在我可以通过使用环境variables传递参数。 […]

共享docker集群

我认为Docker的一个主要好处就是能够部署一个便宜,轻量且快速启动的单一工作单元(一个容器),而不必部署一个成本较高且沉重的虚拟机,从而启动缓慢。 但是在我看来的任何地方(例如AWS,Docker Cloud,IBM,Azure,Google Cloud,kubernetes),部署单个容器不是一种select。 相反,单个客户必须部署将运行Docker引擎实例的整个VM,然后主机集群将被托pipe。 有没有任何CaaS可以让你根据需要只configurationless量的容器? 我认为许多云提供商公司会提供这项服务,协调哪些客户提交的集装箱的物stream组合在一起,并在这些公司的docker引擎之间分配。 我发现这些服务对于那些将部署足够容器的客户来说是不必要的,因为这需要完整的docker引擎实例。 但那些想要仅仅部署单个容器的便宜选项的客户呢? 如果这项服务不可用,我认为Docker容器不会比整个虚拟机便宜也不轻。 在这两种情况下,你都付出沉重的虚拟机。 唯一剩下的好处就是隔离stream程和快速改变stream程的能力。 还有,是否有任何云服务可以部署一个容器?

为什么连接到Google Cloud SQL在Docker容器内失败,但在Docker容器外部成功?

我在Golang写了一段代码来testingGoogle Cloud SQL: package main import ( "database/sql" "flag" "fmt" _ "github.com/go-sql-driver/mysql" ) var addr = flag.String("db", "", "The database address") func main() { flag.Parse() db, err := sql.Open("mysql", *addr) if err != nil { fmt.Println("mysql open failed: ", err) return } defer db.Close() err = db.Ping() if err != nil { fmt.Println("mysql ping failed: […]

通过docker和nfs存储使用mongo

我有一个glusterfs工作正常,当我在Cent7创build一个卷使用: docker volume create…并提供types为NFS,这里是我用来创build卷的完整命令: docker volume create –name sv1_mongovol1 –opt type = nfs –opt device =:/ root / gluster / mounts –opt o = addr = 172.23.180.79 如果我使用“阿尔卑斯”容器或类似的装载它,我接触/创build的文件,写入删除存储,但是当我启动一个mongo容器时,它会失败。 这是我如何启动: docker run –privileged –rm -it -p 27017:27017 -v sv1_mongovol1:/ data / db –name mongodb mongo 这里是错误日志 017-02-26T02:31:00.391+0000 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to […]

访问除ssh以外的Docker容器

已经下载了Android Docker容器https://hub.docker.com/r/yongjhih/android-studio/ 用法定义如下: $ curl -L https://github.com/yongjhih/docker-android-studio/raw/master/docker-android-studio > ~/bin/android-studio $ chmod a+x ~/bin/android-studio $ android-studio 我已经通过docker pull yongjhih/android-studio了回购,但现在我不确定如何使用它。 迄今为止,我只是通过SSH访问docker容器。 为了使用IDE,我需要'窗口'访问运行IDE的环境? 看dockerFIle( https://hub.docker.com/r/yongjhih/android-studio/~/dockerfile/ )这个环境看起来是Ubuntu: ENV USER ubuntu 是否有一个Docker推荐的方法来访问这种types的容器? 更新: docker集装箱已被拉到Ubuntu 14.04。 我的理解是Docker容器是运行IDE,如何使用IDE?