Tag: Ubuntu

将环境variables暴露给Apache和PHP

背景 我正在尝试使用Wercker来运行我的PHP应用程序的testing。 Wercker使用Docker容器来设置testing环境来执行testing。它使用环境variables来公开任何连接服务(如MySQL和Elasticsearch)的连接参数。 示例MYSQL_PORT_3306_TCP_ADDR = 127.0.1.1 我的核心Docker容器运行Ubuntu 14.04,PHP和Apache已经安装在容器上。 问题 我似乎无法通过php $ _SERVER或$ _ENV通过Apache运行时访问环境variables。 如果我通过CLI php ./db_connect.php运行脚本,或者如果我使用其在服务器php -S localhost:8000版本运行PHP,它工作正常。 但是,如果我尝试通过Apache虚拟主机访问一个页面,则环境variables不可用。 进展 我已经安装了Apache,用于允许环境variables的mod“我认为” sudo a2enmod env sudo service apache2 restart 我试图访问我的脚本中的环境variables。 $database_host = $_SERVER["MYSQL_PORT_3306_TCP_ADDR"]; $database_username = $_SERVER["MYSQL_ENV_MYSQL_USER"]; $database_password = $_SERVER["MYSQL_ENV_MYSQL_PASSWORD"]; $database_name = $_SERVER["MYSQL_ENV_MYSQL_DATABASE"]; $elasticsearch_host = $_SERVER["ELASTICSEARCH_PORT_9300_TCP_ADDR"]; 我可以在我的.htaccess中添加新的variables,我只是没有得到所有的系统环境variables。 SetEnv TEST_VAR test 我已经读过这个问题如何在运行CLI和Apache2Handler时将系统环境variables导入到PHP中? 但我不确定它的build议。 题 如何将系统环境variables暴露给Apache和PHP?

我的文件存在于Docker镜像中的位置?

我将在Travis-CI版本中切换到基于容器的基础架构。 所以我在我的Dockerfile中写下了以下命令,镜像成功构build: RUN apt-get install software-properties-common -y RUN add-apt-repository ppa:ubuntu-toolchain-r/test -y RUN apt-get update RUN apt-get install gcc-4.9 -y RUN apt-get install build-essential perl python git -y RUN apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev -y RUN apt-get install libedit-dev -y RUN apt-get install flex bison gperf libicu-dev libxslt-dev -y RUN git clone git://code.qt.io/qt/qt5.git qt5 RUN […]

Docker构buildubuntu:xenial问题

我试图用Jenkins中的docker-py构build一个docker镜像。 这些脚本看起来像这样: # Let's build the toolchain-base-image from io import BytesIO from docker import Client from pprint import pprint import sys cli = Client(base_url="tcp://127.0.0.1:4243") #cli = Client(base_url='unix://var/run/docker.sock') GCC_VERSION_TAG="4_9" with open("/path/to/docker-" + GCC_VERSION_TAG + "-gcc-base-image-dockerfile", mode="r") as dockerfile: f = BytesIO(dockerfile.read().encode('utf-8')) try: response = [pprint(line["stream"]) for line in cli.build(fileobj=f, nocache=False, rm=True, tag='gcc49/toolchain-base_'+GCC_VERSION_TAG, decode=True, pull=True)] except: raise […]

Docker容器卷不写入主机

嗨,我尝试在docker集装箱内生成一些资产,并把它放到主机。 所有在docker-machine环境中运行的都是使用virtualbox驱动程序初始化的。 例如我运行: docker run -it -v $PWD/testfolder:/var/www:rw ubuntu /bin/bash 接着 root@b9e73827bc3c:/var/www touch dummy.txt 从这一点上,我实际上必须在我的主机的$PWD/testfolder文件夹中看到dummy.txt ,但它没有文件夹testfolder和dummy.txt (逻辑)。 在MacOSX上,相同的设置工作正确,并在主机端创build文件,但是当我尝试它的Ubuntu:14.04它停止工作。 这里都是容器inspect MacOSX主机: https : //gist.github.com/zavalit/65e8a260866f834223616c1b59e4ce7d Ubuntu:14.04主机: https ://gist.github.com/zavalit/40bd3ce8629ad81fcd6793ca63f99491 就我所知,它们都是完全相同的。 它试图使用docker-machine版本0.7.0-rc2和0.6.0,docker版本是1.10.3 有没有人经历过这样的事情? 我非常感谢任何可能的提示。 谢谢。

Docker – 无法连接到Docker守护进程

我开始得到一个 ERROR: Couldn't connect to Docker daemon – you might need to run `docker-machine start default`. 但我不使用docker-machine (虽然我已经安装了版本0.5.2) 我在Docker 1.11.0 e Docker-compose 1.7.0直接在我的Ubuntu 14.04 LTS运行Docker 1.11.0 。 为什么我得到这个错误? 我应该卸载docker机,因为我不使用它或升级它? 问题是别的吗?

Docker Ubuntu的容器可以ping archive.ubuntu.com,但不能apt-get

我使用docker-machine在我们的OpenStack私有云上安装Docker主机。 一切都如预期。 但是当我尝试用ubuntu:14.04构buildDockerfile时,只需执行一个RUN apt-get update : Ign http://archive.ubuntu.com trusty InRelease Ign http://archive.ubuntu.com trusty-updates InRelease … 永远,并超时。 然后我删除RUN apt-get update并运行docker build -t test . 和docker run -it test /bin/bash 在容器内我可以ping archive.ubuntu.com和任何其他域罚款。 我在我的resolve.conf中看到nameserver 8.8.8.8在那里。 但是当我尝试再次运行apt-get update时,我得到了相同的结果。 我试图用–dns 8.8.8.8标志运行容器,没有什么区别。 但是因为我的resolve.conf文件有DNS条目,而且我可以ping这些域名,所以这不应该成为问题。 如果我用–net=host标志运行容器,我可以apt-get更新。 但是这个标志不适用于docker build命令。 我也尝试了这个build议的答案,我在这里find。 sudo apt-get install bridge-utils pkill docker iptables -t nat -F ifconfig docker0 down brctl […]

无法在Docker中运行nuttcp

我试图在Docker容器内运行nuttcp来测量它的UDP吞吐量。 但是,每当我启动客户端实例时,服务器实例崩溃,并出现以下错误消息: Segmentation fault (core dumped) 。 我发现这个 Debian的bug报告 ,说nuttcp崩溃,因为/proc/sys/net/ipv4/tcp_adv_win_scale不存在。 我检查了nettcp工作的另一台机器上的文件,看到该文件的唯一内容是1 。 所以我试图添加这个文件在我的Docker容器中,像这样: root@7d4c0f0ffe4f:/proc/sys/net/ipv4$ echo 1 > tcp_adv_win_scale bash: tcp_adv_win_scale: No such file or directory 所以猜猜这​​是不可能手动创build这个文件。 错误报告还包括一个补丁,可以应用到源代码( nuttcp-6.1.2.c ),但由于我安装nuttcp与apt-get我不知道如何应用该补丁。 有没有人有一个想法如何解决这个问题?

Ubuntu服务器上的Azure Docker上的ASP.NET 5

我使用Docker部署我的ASP.NET Core应用程序。 我已经开始运行了,我已经成功地把它推到了Docker Hub。 现在我已经创build了一个新的Azure Docker VM“Container服务器中的Ubuntu服务器上的Docker”。 我SSH到那台机器,从Docker Hub中拉出我的Docker镜像,但是当我在本地机器上公开一个和我一样的端口时,它不起作用(发生Timeout连接错误),但是同样的镜像在我的本地机器上工作。 请有人可以认同这个问题? 这是我的Dockerfile FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr COPY。 /应用 WORKDIR /应用程序 RUN [“dnu”,“还原”] EXPOSE 5000 ENTRYPOINT [“dnx”,“-p”,“project.json”,“web”] 谢谢

在Mono中使用UnixSignal引发System.ArgumentException

我有一个控制台应用程序在Docker容器中运行.Net 4.6.1单声道,它运行良好。 进一步开发应用程序时,我正在考虑使用Nuget包Mono.Posix来响应unix信号。 根据Mono文档 ,build议在单独的线程中运行UnixSignal处理。 所以我试图做到这一点,如下面的代码: public void Run() { var signalHandler = new Thread(new ThreadStart(ListenToSignal)); signalHandler.Start(); } private void ListenToSignal() { var signals = new List<UnixSignal>() { new UnixSignal (Mono.Unix.Native.Signum.SIGHUP), new UnixSignal (Mono.Unix.Native.Signum.SIGINT), new UnixSignal (Mono.Unix.Native.Signum.SIGQUIT), new UnixSignal (Mono.Unix.Native.Signum.SIGTERM) }; int index = UnixSignal.WaitAny(signals.ToArray()); var signal = signals[index].Signum; Console.WriteLine($"Terminate signal was called: {signal}"); } […]

Docker守护进程无法正常重启

一直在我的docker部署中看到一个间歇性的问题。 基本上,docker守护进程无法正常重启。 从系统日志: init: docker main process ended, respawning init: docker main process (14333) terminated with status 1 init: docker respawning too fast, stopped 从docker新贵日志: FATA[0000] Error starting daemon: error initializing network controller: could not delete the default bridge network: network bridge has active endpoints /var/run/docker.sock is up 我可以通过运行来解决这个问题: sudo rm -r /var/lib/docker/network sudo service […]