Articles of Docker

YARN AM日志会报告terminal和sparkscalashell中显示的不同时间戳

我想了解为什么会发生以下情况: 我有一个Yarn和Spark运行正常的Docker容器,除了该容器的时间戳是我想要的X小时。 所以当我运行date它返回一个时间戳减去当前时间戳的X小时。 通过在docker run命令中传递一个TZ环境variables来解决上述问题,所以当我键入date我得到了正确的时间戳。 但是,当我在YARN中运行spark-submit (集群模式是yarn)应用程序时,AM日志中的时间戳仍然是错误的(减去X小时)。 通过在spark-submit : -conf 'spark.executor.extraJavaOptions=-Duser.timezone'和-conf 'spark.driver.extraJavaOptions=-Duser.timezone'为JVM传递一个时区设置来解决上述问题。 这告诉我,JVM YARN使用有一个问题。 但是,当试图从SparkScala shell获取date时间时,它将返回正确的时间(使用system.currenttimemillis() ),而不指定步骤4中的任何JVM设置。 问题 我怎么知道从YARN Application Master启动容器时使用的是什么JVM,以及SparkScala shell中的JVM? 为什么在shell / bash和spark-submit中运行有不同的时间戳?

如何使用桥网模式从docker集装箱连接到ikev2 vpn?

我试图通过ikev2,Ubuntu主机连接到docker集装箱内的VPN。 如果我尝试以下操作: docker run -i -t –privileged –net host –entrypoint /bin/bash ikev 然后执行ipsec start和ipsec up vpn它连接没有问题。 问题是这会影响主机上的路由,所以我希望从网桥模式运行它,但是如果我运行: docker run -i -t –privileged –entrypoint /bin/bash ikev 我不能再连接到vpn,我甚至不能连接到ikev2 vpn服务器: initiating IKE_SA vpn[1] to XXXX generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ] sending packet: from YYYY[500] to XXXX[500] (454 bytes) retransmit […]

docker的岸边墙

我正在尝试在shorewall中启用docker支持(版本5.1.3.2)。 我遵循指南http://shorewall.org/Docker.html 。 但是,当我尝试启动shorewall时出现以下错误: * Starting shorewall …iptables-restore v1.6.1: Couldn't load target `DOCKER-INGRESS':No such file or directory Error occurred at line: 39 Try `iptables-restore -h' or 'iptables-restore –help' for more information. ERROR: iptables-restore Failed. Input is in /var/lib/shorewall/.iptables-restore-input iptables-restore v1.6.1: Couldn't load target `DOCKER-INGRESS':No such file or directory Error occurred at line: 14 Try `iptables-restore […]

转发连接到泊坞亭容器内的虚拟机

我正在努力实现的 在工作中,我们使用一个特定的操作系统,我们(开发人员)在virtualbox中运行。 虚拟化的操作系统正在运行我们用来访问操作系统的Samba服务器和rsh。 此外,虚拟化的操作系统需要访问我们networking上的多台服务器。 我想实现的是有一种方法来快速启动虚拟机作为Docker安装程序的一部分。 这个想法是有一个docker容器,将提供虚拟机的访问,一个容器,在虚拟机上运行testing,并在未来的一些其他容器,将提供例如。 系统的分析。 问题是什么 我有一个docker容器,用桥接networking设置一个VirtualBox机器。 我可以从启动它的容器中使用rsh访问虚拟机,没有任何问题。 但是,我不能从其他容器使用rsh访问虚拟机(呃,我发现了一个解决scheme,我将在下面描述,但我不认为这是一个好的)。 有趣的是,ping工作正常。 现在设置看起来像这样: 虚拟容器 容纳虚拟机的Docker容器 IP地址:172.18.0.5 网关:172.18.0.1 networking掩码:255.255.0.0 VirtualBox机器 在虚拟容器内运行 IP地址:172.18.1.5 网关:172.18.0.1 networking掩码:255.255.0.0 工人容器 一个容器,我想连接到VirtualBox机器 IP地址:172.18.0.6 网关:172.18.0.1 networking掩码:255.255.0.0 到目前为止,我发现只有一个解决scheme如何使用rsh连接到VirtualBox机器,那就是添加一个路由: ip route add 172.18.1.5 via 172.18.0.5 然后rsh到172.18.1.5。 但是,这有一个严重的问题。 因为我需要知道分配给虚拟机的地址,所以我必须将virtualbox地址设置为一个可以容易地从正在运行的容器的地址中猜出的地址。更改容器内的路由也意味着容器需要特权,我想保持特权容器的数量最less。 我想要更多的是能够直接向虚拟容器(172.18.0.5)发送消息。 这样我就不必猜测虚拟机的IP,但是我可以使用docker-compose的虚拟主机名。 我以为我可以使用NAT来实现这一点。 我所做的是: 将虚拟机的网关更改为虚拟机的IP地址 公开虚拟的所有端口 将以下两条规则添加到虚拟容器中: iptables -t nat -A PREROUTING – 目标172.18.0.5 -j DNAT – […]

“npm postinstall”不在docker中运行

我有一个angular度的应用程序,需要以下步骤: npm安装 npm后安装 npm运行 我有通过dockerfile自动化的步骤,所有以上三个步骤运行良好的manullay,但是当dockerfile运行时,它会给出错误的“npm postinstall”脚本: The command '/bin/sh -c npm run postinstall' returned a non-zero code: 1 可能是什么问题?

无法在Ubuntu映像中安装docker引擎,因为libsystemd0不可安装

我试图build立一个基于Ubuntu的容器镜像上安装了docker引擎。 这是我在我的dockerfile中: FROM ubuntu:trusty MAINTAINER Ervin Varga RUN apt-get update RUN apt-get -y upgrade RUN apt-get install -y openssh-server RUN sed -i 's|session required pam_loginuid.so|session optional pam_loginuid.so|g' /etc/pam.d/sshd RUN mkdir -p /var/run/sshd RUN apt-get -y install openjdk-7-jre RUN apt-get -y install openjdk-7-jdk RUN adduser –quiet jenkins RUN echo "jenkins:jenkins" | chpasswd RUN apt-get -y install […]

docker多容器:在dockernetworking中将wordpress容器与mysql容器链接起来

我尝试了一个简单的教程,通过遵循简单的命令在多容器中运行WordPress。 docker pull mysql docker pull wordpress docker run –name yourSql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest docker run –name letterPress –link yourSql:mysql -p 8888:80 -d wordpress 一切运行得很好,如果我访问WordPress的容器,其IP地址和端口像http://172.18.0.2:8888 这启动了一个WordPress向导,其中这个向导不会询问任何与MySQL有关的证书(主机名,数据库名,用户名和密码) 但是,如果我试图在dockernetwork运行这两个containers ,那么它会问我所有的凭据(现在不是自动的) docker network create blog-network docker run –name yourSql –net blog-network -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest docker run –name letterPress –net blog-network –link yourSql:mysql -p 8888:80 -d wordpress […]

在Ubuntu 16.04上的Dockernetworking问题

我有一个运行在cloudfoundry下的Ubuntu 16.04 x86_64系统。 最新的docker ce被安装了,然后我也尝试了beta。 目前在 Docker版本17.09.0-ce,编译afdb6d4 我正在Docker下运行hadoop(HDP 2.6.1),这暴露了一堆端口,可以在docker主机上正常访问。 不过,我似乎无法从其他系统访问任何这些端口。 尽我所能看到的 在内核中启用转发(请参阅下面的sysctl -a) 我认为iptables是好的 CFnetworking中的外部防火墙被设置为允许这些端口 – 事实上,我正在使用与我自己的系统运行几乎相同的代码(非docker)相同的安全组之一,并且在那里工作,build议防火墙configuration就好了。 这个93b77a0480c7 sandbox-hdp “/usr/sbin/sshd -D” 12 hours ago Up 12 hours 0.0.0.0:1000->1000/tcp, 0.0.0.0:1100->1100/tcp, 0.0.0.0:1220->1220/tcp, 0.0.0.0:1988->1988/tcp, 0.0.0.0:2100->2100/tcp, 0.0.0.0:2181->2181/tcp, 0.0.0.0:4040->4040/tcp, 0.0.0.0:4200->4200/tcp, 0.0.0.0:5007->5007/tcp, 0.0.0.0:5011->5011/tcp, 0.0.0.0:6001->6001/tcp, 0.0.0.0:6003->6003/tcp, 0.0.0.0:6008->6008/tcp, 0.0.0.0:6080->6080/tcp, 0.0.0.0:6188->6188/tcp, 0.0.0.0:8000->8000/tcp, 0.0.0.0:8005->8005/tcp, 0.0.0.0:8020->8020/tcp, 0.0.0.0:8040->8040/tcp, 0.0.0.0:8042->8042/tcp, 0.0.0.0:8050->8050/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:8082->8082/tcp, 0.0.0.0:8086->8086/tcp, 0.0.0.0:8088->8088/tcp, 0.0.0.0:8090-8091->8090-8091/tcp, 0.0.0.0:8188->8188/tcp, 0.0.0.0:8443->8443/tcp, […]

如何通过虚拟环境路由HTTPS URL

我在虚拟环境中设置安全路由时遇到问题。 对网站和REST API的所有HTTP请求都正常工作。 证书由我工作的公司提供,并且是我们域的通配证书。 我的问题是证书的位置,这是我无法访问。 我试图在许多地方configurationSSL,但它只能部分工作。 为了尝试路线,我使用邮差和一个普通的浏览器(Chrome)。 我可以成功访问网页,login,用JSON发送请求到REST API。 所有url都以http://开头。 当我做的完全一样,但与https:// ,浏览器显示该网站是不安全的。 邮递员也显示连接到URL时出错。 http://不会发生这种情况。 设置看起来像这样: 我的虚拟系统的设置 网关服务器作为多个虚拟机的入口。 我的应用程序运行在其中之一。 网关运行apache2以方便路由到它托pipe的所有虚拟机。 而且,它是所有虚拟环境中SSL相关事务的处理程序。 我正在开发基于Symfony框架的PHP Web应用程序。 为了实现与此应用程序的持续集成,我们在Docker实例中运行应用程序。 在Jenkins成功构build之后,脚本会启动一个新的Docker镜像。 Docker映像运行托pipe我的应用程序的Nginx服务器 。 我曾尝试在我的Nginxconfiguration和apache2configuration中configuration证书。 两者都没有成功的结果。 我发现通配符证书不适用于子子域。 因此,我认为my-app.development.mycompany.com将无法正常工作。 将URL更改为development.mycompany.com/my-app/失败,因为PHP应用程序在/my-app/ part中find了。 这导致应用程序的路由select问题,并阻止其他虚拟机的应用程序。 我想了解如何configurationapache2主机来处理SSL。 为了能够在未来在这个虚拟环境中开发更多的应用程序,我想设置这个,以便HTTPS覆盖所有的虚拟机。 为什么此设置适用于HTTP,但不适用于HTTPS? 入口点的虚拟主机configuration可以在下面find <VirtualHost *:444> ServerName development.mycompany.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/certificate_bundle.crt SSLCertificateKeyFile /etc/apache2/ssl/certificate.key #RewriteEngine on ProxyPreserveHost On <Proxy *> Order Deny,Allow […]

img 404使用Nginx,Docker,Django,Digital Ocean

出于某种原因,我的CSS,JS和Font-Awesome静态资产被识别并正常使用,但是我的img静态文件在Nginx Docker容器日志中显示了404错误。 当我在本地构build这些容器时,一切正常,但是一旦我在Digital Ocean上构build,img文件就开始向Nginx抛出404错误。 我一直在工作几天没有运气,任何帮助将非常感激。 这里是我的Nginx设置: server { listen 80; server_name 104.236.29.80; access_log /dev/stdout; error_log /dev/stdout info; location /static/ { alias /usr/src/app/personal/static/; } location / { proxy_pass http://web:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 这里是我的Nginx构build的Dockerfile: FROM tutum/nginx RUN rm /etc/nginx/sites-enabled/default ADD sites-enabled/ /etc/nginx/sites-enabled 我的Docker-compose文件看起来有点像这样: web: restart: always build: ./web expose: […]