Aerospike服务器未在docker容器中启动。
在docker容器中安装了Aerospike,但在尝试启动服务时显示
aerospike: unrecognized service
我已使用此命令启动服务,
service aerospike start
Dockerfile:
FROM ubuntu:18.04
RUN apt-get update && apt-get install -q -y curl python2.7 python
RUN TEMPDIR=$(mktemp -d) && \
cd $TEMPDIR && \
curl -L 'aerospike.com/download/server/latest/artifact/ubuntu18' | tar xzv --strip-components 1 && \
./asinstall
答案 0 :(得分:0)
您的容器中没有像aerospike
这样的服务:
root@6dc95b33962b:/# service --status-all
[ ? ] hwclock.sh
[ - ] procps
您已经安装了aerospike-server-community
软件包,并且可以看到此版本已为systemd准备。
root@eb4b937d4d45:/tmp/tmp.MIlx6iwhpg# dpkg -L aerospike-server-community
/.
/etc
/etc/aerospike
/etc/aerospike/aerospike.conf
/etc/aerospike/irqbalance-ban.sh
/etc/aerospike/sample
/etc/aerospike/sample/README.md
/etc/aerospike/sample/aerospike_mesh.conf
/etc/aerospike/sample/aerospike_ssd.conf
/etc/aerospike/telemetry.conf
/etc/sysconfig
/etc/sysconfig/aerospike
/etc/sysconfig/aerospike_telemetry
/etc/systemd
/etc/systemd/system
/etc/systemd/system/aerospike.service.d
/etc/systemd/system/aerospike.service.d/aerospike.conf
/etc/systemd/system/aerospike.service.d/aerospike.conf.coldstart
/etc/systemd/system/aerospike.service.d/aerospike.conf.default
请参阅Stack Exchange帖子:DataFrame.to_excel
,了解如何在docker容器中运行systemd。
答案 1 :(得分:0)
通常不是在容器中运行服务的最佳实践,因为您最终将不得不运行与PID 1不同的进程,并且如果应用程序崩溃,容器将不会自动重新启动或停止,这给了您一个错误的主意一切都很好。
您应该安装依赖项/应用程序,然后直接在入口点或脚本中运行它。
检查官方的Aerospike Dockerfile以了解其操作https://github.com/aerospike/aerospike-server.docker/blob/c5c6355c81b03b1e7cf6d817dfc053baabd4b7b6/Dockerfile
我建议您还阅读有关构建映像的最佳做法的docker文档:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/