流星Docker和Graphicsmagick

我正在寻找如何在Meteor Up Docker上安装Graphicsmagick。

我找到了这个解决方案docker中的Accessbinaries,但是我无法工作,我应该将这些行放在start.sh哪里?

meteorDockerId=docker ps | grep meteorhacks/meteord:base | awk '{print $1}'

docker exec $meteorDockerId apt-get install graphicsmagick -y

那是我的start.sh

#!/bin/bash

APPNAME=instagatas

APP_PATH=/opt/$APPNAME

BUNDLE_PATH=$APP_PATH/current

ENV_FILE=$APP_PATH/config/env.list

PORT=80

USE_LOCAL_MONGO=0

# remove previous version of the app, if exists

docker rm -f $APPNAME

# remove frontend container if exists

docker rm -f $APPNAME-frontend

set -e

docker pull meteorhacks/meteord:base

if [ "$USE_LOCAL_MONGO" == "1" ]; then

docker run \

-d \

--restart=always \

--publish=$PORT:80 \

--volume=$BUNDLE_PATH:/bundle \

--env-file=$ENV_FILE \

--link=mongodb:mongodb \

--hostname="$HOSTNAME-$APPNAME" \

--env=MONGO_URL=mongodb://mongodb:27017/$APPNAME \

--name=$APPNAME \

meteorhacks/meteord:base

else

docker run \

-d \

--restart=always \

--publish=$PORT:80 \

--volume=$BUNDLE_PATH:/bundle \

--hostname="$HOSTNAME-$APPNAME" \

--env-file=$ENV_FILE \

--name=$APPNAME \

meteorhacks/meteord:base

fi

docker pull meteorhacks/mup-frontend-server:latest

docker run \

-d \

--restart=always \

--volume=/opt/$APPNAME/config/bundle.crt:/bundle.crt \

--volume=/opt/$APPNAME/config/private.key:/private.key \

--link=$APPNAME:backend \

--publish=443:443 \

--name=$APPNAME-frontend \

meteorhacks/mup-frontend-server /start.sh

回答:

每次您重新启动容器时都要重新安装graphicsmagick软件包,这看起来像是我不想做的黑客。

如果您已经在修改启动脚本,则不妨使用Dockerfile:

FROM meteorhacks/meteord:base

RUN apt-get install graphicsmagick -y

然后修改start.sh模板以使用graphicsmagick构建新的docker图像,对其进行标记并改为使用该图像:

参见:https :

//gist.github.com/so0k/7d4be21c5e2d9abd3743/revisions

编辑:在哪里放置Dockerfile?

start.sh模板已复制到/opt/<appName>/config/,当前Dockerfile必须位于同一目录(/opt/<appName>/config/Dockerfile

参见Linux初始化任务

,您可以使用-f标记指定特定的Dockerfiledocker

build

或 是通过Dockerfile docker

build使用此处文档

我已经更新了start.sh要点,我们不再提取meteord:base图像并构建它:

docker build -t meteorhacks/meteord:app - << EOF

FROM meteorhacks/meteord:base

RUN apt-get install graphicsmagick -y

EOF

docker build会每次运行,但只要需求不改变,码头工人将使用缓存的泊坞窗图像。

以上是 流星Docker和Graphicsmagick 的全部内容, 来源链接: utcz.com/qa/416137.html

回到顶部