Dockers

规格

以下预制 docker 镜像可用:

Name

fdi

httppool

Description

linux with fdi tested and ready to run.

Apache HTTPPool server, tested and started.

Base

Ubuntu 18.04 (~268MB compressed)

fdi (~271MB compressed)

Installed

Package and DEV, SERV dependencies.

Package and DEV, SERV dependencies.

User in docker

fdi

``apache``(Convenience links in home dir.)

Pull

docker pull mhastro/fdi

docker pull mhastro/httppool

Build

make build_docker

make build_server

Launch

make launch_docker

make launch_server

Entrypoint

dockerfile_entrypoint.sh

fdi/pns/resources/httppool_server_entrypoint_2.sh

Ports

--

9884

在 fdi 的包根目录下运行 make 命令。

配置

构建和启动命令需要一个名为 .secret 的文件。 这是一个示例 .secret

HOST_PORT=9884
HOST_USER=...
HOST_PASS=...
MQ_HOST=123.45.67.89
MQ_PORT=9876
MQ_USER=...
MQ_PASS=...

服务器凭据在服务器启动期间设置,当 pnslocal.py 配置文件被加载时。 pnslocal.py 和其他配置文件在 docker 启动时由 Entrypoint 文件(见上表)更新。入口点文件使用环境变量,这些变量由命令行使用 --env-file 设置,以便敏感信息不会留在命令行上。

更方便的命令

登录最新构建的运行容器:

make it

停止最新构建的运行容器:

make rm_docker

删除最新构建的运行容器和镜像:

make rm_dockeri

httppool docker 更新中观察 /var/log/apache2/error-ps.log (启动后):

make t

小技巧

如果您看到未找到日志文件的错误,则您错误地运行了 fdi docker。 只有池服务器 docker 有日志。

在本地制作图像

下面展示了如何自己构建 docker 镜像。

首先创建一个虚拟环境:

virtualenv -p python3.6 poolserver
cd poolserver
. bin/activate

然后按照 开发者安装及注意事项 中的说明安装 fdi,例如

git clone http://mercury.bao.ac.cn:9006/mh/fdi.git
cd fdi
git checkout develop
make install EXT="[DEV,SERV]"

如果需要,修改 docker_entrypoint.sh

现在你可以轻松地制作 fdi docker:

make build_docker

要构建 httppool 映像,请修改 fdi/pns/resources/httppool_server_2.docker 中的 FROM 行以删除 mhastro/

如有必要可修改 fdi/pns/resources/httppool_server_entrypoint.sh

制作 httppool 图像

make build_server