Tag: 泊坞窗

如何使用libfaketime来设置系统date

我使用docker容器来运行tomcat。 现在我想修改系统date来使用date -s '2012-12-25' ,但不能有特权。 所以我使用libfaketime作为伪造时间,如下所示: $LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 FAKETIME="+1d"但只有有效的当前会话。 那么我能做些什么来有效的在容器中的系统date? 谢谢!!!

Docker:如何更新容器中php.ini的更改

我有一个docker的容器里面有php5.6 。 当我testing一些东西,我得到这个错误: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for […]

当在Docker容器中调用它的COM时,Microsoft Word崩溃

我正在构build一个文档转换服务,需要: 支持Office文档作为input。 像素准确(即OpenOffice和朋友不是一个可以接受的select)。 该服务在Windows主机(它使用来自C#的Office Interop)中运行良好,但是我想通过容器来简化CI。 我知道, 微软明确不鼓励使用Office服务器端,但由于上述原因,这不是一个有效的答案。 这是对问题的简单再现。 我正在用Microsoft Office使用这个Dockerfile创build一个Docker镜像: FROM microsoft/windowsservercore:10.0.14393.953 # Install Office deployment tool ADD https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_8008-3601.exe C:/deploymenttool_autoextract.exe RUN C:/deploymenttool_autoextract.exe /quiet /passive /extract:C: # Install Office RUN C:/setup.exe /configure configuration.xml ENTRYPOINT powershell build立图像工作得很好(这需要一段时间,但似乎一切安装正确): PS C:\> docker build -t office2016 . Sending build context to Docker daemon 9.513 MB Step 1/5 : FROM microsoft/windowsservercore:10.0.14393.953 […]

在Windows容器上使用复杂的PowerShell脚本构buildDockerfile

我正在尝试使用运行PowerShell的dockerfile来构build一个Docker镜像。 embedded式powershell脚本已经在dockerfile之外进行了testing,但是在运行dockerfile时却有错误。 从docker文件: RUN powershell -NoProfile -Command " \ $lines = (Get-Content c:\telegraf\telegraf.conf).replace('http://localhost:8086', 'http://publichost.com:8086'); \ Set-Content c:\telegraf\telegraf.conf $lines; \ $lines = (Get-Content c:\telegraf\telegraf.conf).replace('database = "telegraf"', 'database = "qa"'); \ Set-Content c:\telegraf\telegraf.conf $lines \ " 我得到了以下错误: At line:1 char:97 + … egraf.conf; $pos = [array]::indexof($lines, $lines -match global_ … + ~ You must provide a value […]

在GAE的Dockerised Golang Web应用程序中的smtp sendmail不起作用

我有一个dockerised的networking应用程序部署在GAE的wriiten中去。 付款模块使用分条签出API,成功触发电子邮件通知。 在debugging时,我观察到下面的代码行不被执行。 我试过端口587,结果是一样的。 err := smtp.SendMail("smtp.gmail.com:465", auth, from, []string{to}, []byte(msg)) 我在我的本地m / c上有相同的应用程序,这个function在它上面工作。 虽然我没有在本地m / c上使用docker。 我在'from'用户字段中使用与我的GAE帐户相同的用户凭据。 这可能是代码失败的原因。 或者,应该在dockerfile中描述smtp服务auth参数以及要公开的端口。 鉴于只有4个端口可用,在GAE中映射端口465或587的正确方法是什么? 我正在使用Golang图像1.7.1 docker日志不显示任何错误。 但是电子邮件不会被发送。 容器的etc / resolv.conf具有以下DNS条目 search c.cloud-devshell-prod.internal. google.internal. nameserver 169.254.169.254 options: ndots5 将不胜感激任何build议.. 谢谢

docker sshd容器使用syslog的Fail2banfilter

我们正在尝试使用Fail2ban将无效的login信息发送到运行SSHD的Docker容器。 我们已经将主机SSH端口移到了更高的数字。 我目前在我的jail.local文件中有2个监狱: #Filters [ssh-iptables-22] enabled = true filter = docker-sshd action = iptables[name=SSHCONTAINER, port=22, protocol=tcp] logpath = /var/log/messages [ssh-iptables-2222] enabled = true filter = sshd action = iptables[name=SSHHOST, port=2222, protocol=tcp] logpath = /var/log/secure 我们使用驱动程序“syslog”进行容器日志logging,最后到/ var / log / messages文件。 主机正在login到AUTHPRIV,所以这些将要/ var / log / secure 主机检查工作正常,在2222上尝试托pipeSSH的次数过多,就会被禁止。 但是,/ var / log / messages中的docker check in没有捕获。 […]

RubyMine连接到数据库

我使用最新版本的RubyMine,当我尝试连接到我的docker容器数据库,我看到数据库,但没有任何表等 如果我使用外部程序,如Psequal使用完全相同的凭据,它工作正常,所以我知道我使用正确的凭据,IP地址等 我已经提出了 JetBrains的一个问题 ,但谁能说明为什么我不看桌子?

当使用PhpStorm运行时,stream_socket_client容器之间的超时

我有stream_socket_client()函数的问题,但只在某些情况下。 我使用docker-compose来构build包含nginx,php-fpm(7.1.3)和schickling / mailcatcher(以及其他一些不重要的容器)的环境。 我的问题涉及到SwiftMailer,但我已经将问题隔离到以下代码: // /var/www/web/app_dev.php $streamContext = stream_context_create(); $timeout = 5; $_stream = stream_socket_client('172.21.0.106:1025', $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext); var_dump($_stream); 172.21.0.106:1025是正确的,并为Mailcatcher的静态 IP:端口。 现在,如果我通过浏览器请求这个文件,我得到: /var/www/web/app_dev.php:8:resource(4,stream) 哪个是对的。 当我做docker exec php_container /var/www/web/app_dev.php ,我得到: /var/www/web/app_dev.php:9:types(stream)的资源(20) 这也是正确的。 但是当我使用configuration的Docker远程解释器(通常工作正常)通过PhpStorm(选项“运行>运行…”)运行此脚本时,我得到输出: docker:// php_container:latest / php /var/www/web/app_dev.php 警告:stream_socket_client():无法连接到第5行/var/www/web/app_dev.php中的172.21.0.106:1025(连接超时) 调用堆栈:0.0001 349080 1. {main}()/var/www/web/app_dev.php:0 0.0032 360960 2. stream_socket_client()/var/www/web/app_dev.php:5 进程使用退出码0结束 我做了一些testing,看起来像尝试使用任何其他容器的主机端口时存在的问题,但它使用Dockernetworking之外的任何东西时工作。 例如,使用'172.21.0.103:3306'容器)的问题仍然存在,但与'google.com:80' ,它也可以通过PhpStorm运行function。 docker-compose.yml的重要部分: services: […]

docker工人连接问题

我正在连接到我的工艺服务器,包含在docker集装箱内的实际问题。 https://hub.docker.com/r/itzg/minecraft-server/是我正在使用的容器,并且正在使用此命令运行它。 sudo docker run -d -it –e EULA=TRUE -p 25565:25565 –name mc25565 itzg/minecraft-server 我做了很多与这个问题有关的研究,不能为我的生活弄清楚。 我不是一个networking人,所以这对我来说都是新鲜事。 我正在运行容器的服务器已closures防火墙,这里是我的netstat –listen。 Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ndmp 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 [::]:25565 [::]:* LISTEN tcp6 0 0 [::]:filenet-nch [::]:* […]

用不同的configuration在不同的端口上运行MySQL

我试图在另一个不同的configuration端口上运行MySQL的另一个实例。 尝试1 docker run –name dbname -v /home/custom-mysql-configs/dbname-config-folder:/etc/mysql -p 0.0.0.0:3312:3306 -e MYSQL_ROOT_PASSWORD=mysupersecretpassword -d mysql:5.5 当我运行SHOW VARIABLES; 在mysql -u root -p –host=127.0.0.1 –port=3312我得到了和mysql -u root -p –host=127.0.0.1 –port=3306相同的variables,它们在/etc/mysql/my.cnf 尝试2 docker run –name dbname -v /home/custom-mysql-configs/dbname-config-folder:/etc/mysql/conf.d -p 0.0.0.0:3312:3306 -e MYSQL_ROOT_PASSWORD=mysupersecretpassword -d mysql:5.5 然后当我跑了 mysql -u root -p –host=127.0.0.1 –port=3306 我得到了以下错误: 错误2013(HY000):在'读取初始通信数据包'丢失连接到MySQL服务器,系统错误:0 我在做什么错了,我应该如何运行新的MySQL实例?