Tag: 泊坞窗

如何从Cron作业访问Docker设置环境variables

我最近尝试从链接的docker容器中运行一个cron作业,并遇到一个问题。 我的主docker容器链接到一个postgres容器,它的端口号被docker设置为一个环境variables。 这个环境variables没有在〜/ .profile中设置,或者在运行我的cron作业时可以加载的任何其他源文件中。 那么我怎样才能从我的cron作业中访问这些环境variables? 谢谢!

如何在Docker容器中运行grep的livereload?

我创build了一个docker容器来运行任务。 所有任务正在运行,问题是我不能在Chrome中启用livrereload,虽然我暴露了我的容器中的35729端口。 这是Dockerfile: FROM ubuntu:latest MAINTAINER jiboulex EXPOSE 80 8080 3000 35729 RUN apt-get update RUN apt-get install curl -y RUN apt-get install software-properties-common -y RUN add-apt-repository ppa:chris-lea/node.js RUN apt-get update RUN apt-get install nodejs -y RUN curl -L https://www.npmjs.com/install.sh | sh RUN npm install –global gulp -y # overwrite this with 'CMD []' in […]

在Docker Alpine上安装numpy

我正在尝试在基于Alpine 3.1的Docker容器中安装numpy。 我正在使用下面的Dockerfile: FROM alpine:3.1 RUN apk add –update make cmake gcc g++ gfortran RUN apk add –update python py-pip python-dev RUN pip install cython RUN pip install numpy 这运行良好,直到pip install numpy时候,我得到以下错误: error: Command "gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -Inumpy/core/include -Ibuild/src.linux-x86_64-2.7/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/include/python2.7 -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private […]

运行docker映像时运行时错误“oci运行时错误

我有下面的动物园pipe理员安装Dockerfile,我已经build立了docker的形象。 FROM openjdk:8-jre-alpine # Install required packages RUN apk add –no-cache \ bash \ su-exec ENV ZOO_USER=zookeeper \ ZOO_CONF_DIR=/conf \ ZOO_DATA_DIR=/data \ ZOO_DATA_LOG_DIR=/datalog \ ZOO_PORT=2181 \ ZOO_TICK_TIME=2000 \ ZOO_INIT_LIMIT=5 \ ZOO_SYNC_LIMIT=2 # Add a user and make dirs RUN set -x \ && adduser -D "$ZOO_USER" \ && mkdir -p "$ZOO_DATA_LOG_DIR" "$ZOO_DATA_DIR" "$ZOO_CONF_DIR" \ && […]

在docker中恢复postgres

我遇到了很多尝试使用docker exec和postgresql psql实用程序来恢复在docker 1.3中运行的postgresql安装的一系列问题。 我有一个备份运行确定通过docker exec mycontainer pg_dumpall –clean –user=postgres –no-password > /tmp/backup.sql 。 我遇到了尝试恢复的问题,其中包括: docker exec仅在容器正在运行时才起作用,但psql无法用主动连接的客户端正确恢复 pg_ctl stop将退出postgres服务器进程,该进程会停止您正在运行的主容器和docker exec进程。 docker exec以root身份运行,但是pg_ctl必须以postgres身份运行(我试图使用pg_ctl来停止postgres,这样恢复就可以运行) 所以考虑到postgresql容器正在运行并为应用程序提供活动连接的情况,我该如何恢复? 寻找干净停止,运行恢复,启动等的细节 Env是docker 1.3,postgresql 9.4,数据/var/lib/postgresql/data在容器中的/var/lib/postgresql/data上的/var/lib/postgresql/data中。 在docker主机文件系统上有一个有效的.sql备份文件。 更新: FYI我可以开放任何解决scheme,无论是否涉及docker exec 。 如果我应该运行一个单独的容器并链接到主postgresql容器,并通过TCP与它交谈,例如,只要我得到一些可行的stream程就没有问题。 这是我迄今为止。 build议欢迎。 这是一个bash脚本(在构build过程中插入了一些胡须variables),用于在Docker主机上运行。 #!/bin/bash docker_sql() { docker exec \ –interactive \ –tty \ "${container}" \ psql –user="${user}" –no-password –file="$1" } export DOCKER_HOST=tcp://localhost:2375 […]

在stream浪者/虚拟箱上访问其他机器仅在托pipe容器内的networking上

我有一个实验室环境,我已经设置使用stream浪汉。 它由3台机器,两台安装了docker 1.4.1的应用服务器和一台安装了postgres 9.3的数据库服务器组成。 所有机器都运行Centos 6.6。 环境使用仅主机的专用networking进行设置。 这是stream浪者档案 Vagrant.configure('2') do |config| config.vm.box = "centos-6.0-updated" { 'db' => '10.17.33.10', 'app1' => '10.17.33.11', 'app2' => '10.17.33.12', }.each do |short_name, ip| config.vm.define short_name do |host| host.vm.network 'private_network', ip: ip host.vm.hostname = "#{short_name}.my.dev" end end end 我发现当我在app1或app2上的容器内时,我无法访问数据库服务器。 我相信问题是vagrant / virtualbox的主机专用networking使用127.0.0.x范围内的地址。 在主机上,stream浪者configuration回送接口来处理向networking上的每台机器发送请求。 但是在容器中,因为这个接口没有configuration,所以容器把所有的127.0.0.x请求作为localhost的请求处理,并把它们发回给自己。 有没有其他的configuration可以在stream浪方面设置,或者docker方面可以缓解这个问题? 总之,我想有一个stream浪的环境,我的应用程序服务器上的容器可以与数据库服务器交谈。 请注意,db直接安装在db主机上,不在docker容器内运行。 此外,这意味着模仿不会使用stream浪者的生产环境,所以我希望任何docker更改也能在更普通的networking场景中工作。

连接到在Docker中运行的远程EJB模块

要部署和运行连接到在Docker容器中运行的Enterprise Server实例上的EJB模块的应用程序客户机,必须公开用于build立远程调用的端口。 哪些端口? 它们是固定的还是不同的? 我需要在Docker中configuration其他任何东西吗? 我正在使用Jboss 5.1.0作为企业服务器,我试图暴露端口1099和1100,在这两种情况下例外。 使用在我的主机上运行的Jboss相同的testing工作正常。

docker图像gcloud应该从哪里build立

我读过这里 ,我可以使用gcloud sdk从容器图像创build一个实例。 以下是他们如何为nginx做的事情。 gcloud alpha compute instances create-from-container nginx-vm \ –docker-image=gcr.io/google-containers/nginx:latest \ –port-mappings=80:80:TCP 我希望能够用我制作的节点图像做到这一点。 我可以使用docker run -p 49160:8080 -d myusername/node-web-app在本地运行它,但我不明白图像在哪里。 是否可以将映像映射到我在云计算上运行的虚拟机,然后使用类似上面的代码片段? 我怎样才能find这个形象,为了做到这一点? 这个问题表明它们位于/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 ,这里的列表看起来不太有希望: – . – .. – Docker.qcow2 – console-ring – console-ring.0 – console-ring.1 – console-ring.2 – console-ring.3 – console-ring.4 – console-ring.5 – hypervisor.pid – lock – log – mac.0 – nic1.uuid […]

如何使用Vagrant Docker提供程序的env属性?

我想用Vagrant Dockerconfiguration器更改Docker容器的环境variables。 我怎样才能做到这一点? 示例Vagrantfile: config.vm.define 'container' do |ws| ws.vm.hostname = 'container' ws.ssh.port = 23 ws.ssh.guest_port = 23 ws.vm.provider "docker" do |d| d.image = "name/image" d.env = { "SSH_PORT" => 23 } d.vagrant_machine = "host" d.vagrant_vagrantfile = "../Vagrantfile" d.force_host_vm = true d.has_ssh = true end end 示例Dockerfile: FROM centos:centos7 ENV PORT 22 #… RUN echo "Port […]

Docker数据库文件:容器内部还是外部?

我们一直在考虑在服务器上使用Docker来实现Oracle数据库系统,并正在考虑两种不同的pipe理数据的策略: 将数据库文件(.dbfs)存储在服务器path的文件夹中,然后使用-v选项使该文件夹在容器中可用。 这个想法是有多个容器访问多个文件夹,所以我们可以pipe理不同版本的数据。 保持容器内的数据库文件,就好像它是一个常规的安装。 这个背后的原因是我们喜欢能够随时更改版本的想法,当我们需要恢复到旧版本的程序来修复一个bug时(例如,如果一个旧版本在生产中,目前正在进行)。 从这个意义上讲,我们所拥有的容器也应该有一个特定版本的应用程序(这是一个web应用程序)。 所以我的问题是:在我们的情况下哪种方法是最好的? 我们的集装箱还有另一个组织,我们错过了,会更好? 在这个问题上寻找更多的意见。 我们已经被告知,第一种方法比在容器中保存所有东西要好,但我们的testing没有显示出任何改进。 谢谢!