我正在尝试将https://hub.docker.com/r/pivotaldata/gpdb-base/配置为在Ubuntu16.04中使用GreenPlum db。这是我的船坞-复合。Here:
version: '2'
services:
greenplum:
image: "pivotaldata/gpdb-base"
ports:
- "5432:5432"
volumes:
- gp_data:/tmp/gp
volumes:
gp_data:问题是,当我使用sudo docker-compose up运行它时,GrrenPlum db在启动后是不间断的。看起来是这样的:
greenplum_1 | 20170602:09:01:01:000050 gpstart:e1ae49da386c:gpadmin-[INFO]:-Starting Master instance 72ba20be3774 directory /gpdata/master/gpseg-1
greenplum_1 | 20170602:09:01:02:000050 gpstart:e1ae49da386c:gpadmin-[INFO]:-Command pg_ctl reports Master 72ba20be3774 instance active
greenplum_1 | 20170602:09:01:02:000050 gpstart:e1ae49da386c:gpadmin-[INFO]:-No standby master configured. skipping...
greenplum_1 | 20170602:09:01:02:000050 gpstart:e1ae49da386c:gpadmin-[INFO]:-Database successfully started
greenplum_1 | ALTER ROLE
dockergreenplumn_greenplum_1 exited with code 0 <<----- Here实际上,当我用sudo docker run pivotaldata/gpdb-base开头的时候,就没问题了。
码头工怎么了?
发布于 2017-06-02 12:42:52
首先,要谨慎地运行这个映像:该映像看起来维护得很糟糕,码头枢纽信息表示它既不是“官方的”,也不是“支持的”;
2017-01-09:工具匠回顾了这个图像;它不是我们创建的。我们没有保证这是最新的,还是可行的。如果您是所有者,并有兴趣在此图像上与我们合作,请发送电子邮件给pa-toolsmiths@枢轴。
当使用来自Docker的图像时,建议要么使用官方映像,要么在不可用的情况下,更喜欢自动化构建(在这种情况下,可以验证映像的源代码,以查看用于构建映像的代码)。
我认为这个映像是由这个GitHub存储库构建的,这意味着它已经有一年多没有更新了,并且使用了一个过时的(CentOS 6.7)基映像严重漏洞的数量
回到你的问题;
我试着用docker-compose和docker run启动映像,结果都是一样的。
查看该映像时,它被设计为以交互方式运行,或用作基本映像(并覆盖命令)。
我检查了图像,找出容器的命令是什么;
docker inspect --format='{{json .Config.Cmd}}' pivotaldata/gpdb-base
["/bin/sh","-c","echo \"127.0.0.1 $(cat ~/orig_hostname)\" >> /etc/hosts && service sshd start && su gpadmin -l -c \"/usr/local/bin/run.sh\" && /bin/bash"]因此,这就是启动容器时执行的内容;
echo "127.0.0.1 $(cat ~/orig_hostname)" >> /etc/hosts \
&& service sshd start \
&& su gpadmin -l -c "/usr/local/bin/run.sh" \
&& /bin/bash"基于以上所述,容器中没有“前台”进程,因此当/usr/local/bin/run.sh完成时,将启动一个bash外壳。一个bash外壳关闭一个附加的tty,立即退出,此时容器退出。
运行此映像
(再次;要小心运行此图像)
要么以交互方式运行映像,将其传递给stdin和tty (-i -t,或者-it作为速记);
docker run -it pivotaldata/gpdb-base或可以运行它“分离”,只要tty也被传递(添加-d和-t标志,或-dt作为速记);这样做,使容器在后台运行;
docker run -dit pivotaldata/gpdb-base要在docker-compose中执行同样的操作,请向服务中添加一个tty;
tty: true您的撰写文件将像这样;
version: '2'
services:
greenplum:
image: "pivotaldata/gpdb-base"
ports:
- "5432:5432"
tty: true
volumes:
- gp_data:/tmp/gp
volumes:
gp_data:https://stackoverflow.com/questions/44324940
复制相似问题