gpt4 book ai didi

Meteor Up Docker 和 Graphicsmagick

转载 作者:IT老高 更新时间:2023-10-28 12:47:33 24 4
gpt4 key购买 nike

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

我找到了这个解决方案 (Access binaries inside docker) 但我无法工作,我应该将这些行放在 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 init Task

或者,您可以使用 -f 指定特定的 Dockerfile docker build 的标志

或者您的第三个选项是将 Dockerfile 传送到 docker build使用 here document

我已更新 start.sh gist ,我们不再拉取 meteor :基础图像并构建它:

docker build -t meteorhacks/meteord:app - << EOF
FROM meteorhacks/meteord:base
RUN apt-get install graphicsmagick -y
EOF

docker build每次都会运行,但只要需求不变,docker 就会使用它缓存的 docker 镜像。

关于Meteor Up Docker 和 Graphicsmagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31901697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com