Gui*_*ira 10 graphicsmagick meteor docker meteor-up
我正在寻找如何在Meteor Up Docker上安装Graphicsmagick.
我找到了这个解决方案(在docker中访问二进制文件)但我无法工作,我在哪里放这些行start.sh
?
meteorDockerId=docker ps | grep meteorhacks/meteord:base | awk '{print $1}'
docker exec $meteorDockerId apt-get install graphicsmagick -y
Run Code Online (Sandbox Code Playgroud)
那是我的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
Run Code Online (Sandbox Code Playgroud)
Vin*_*met 14
每次重新启动容器时重新安装graphicsmagick包似乎是一个我不想做的黑客攻击.
如果您已经修改了启动脚本,也可以使用Dockerfile:
FROM meteorhacks/meteord:base
RUN apt-get install graphicsmagick -y
Run Code Online (Sandbox Code Playgroud)
然后修改start.sh
模板以使用graphicsmagick构建新的docker镜像,标记它并使用该图像:
请参阅:https://gist.github.com/so0k/7d4be21c5e2d9abd3743/revisions
编辑:在哪里放Dockerfile?
start.sh
模板被复制到/opt/<appName>/config/
,目前Dockerfile需要在同一个目录中(/opt/<appName>/config/Dockerfile
)
或者,您可以使用-f
标志指定特定的Dockerfiledocker build
或者你的第三个选择是docker build
使用here文件管道Dockerfile
我已经更新了start.sh的要点,我们不再拉取meteord:base image并构建它:
docker build -t meteorhacks/meteord:app - << EOF
FROM meteorhacks/meteord:base
RUN apt-get install graphicsmagick -y
EOF
Run Code Online (Sandbox Code Playgroud)
该docker build
会每次运行,但只要需求不改变,码头工人将使用缓存的泊坞窗图像.
归档时间: |
|
查看次数: |
3249 次 |
最近记录: |