加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Meteor Up Docker和Graphicsmagick

发布时间:2020-12-16 03:30:19 所属栏目:安全 来源:网络整理
导读:我正在寻找如何在Meteor Up Docker安装Graphicsmagick. 我发现这个解决方案(Access binaries inside docker),但是我无法做任何工作,在哪里将这些行放在start.sh? meteorDockerId=docker ps | grep meteorhacks/meteord:base | awk '{print $1}'docker exec

我正在寻找如何在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

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

或者您的第三个选项是使用here document管理Dockerfile到docker build

我更新了start.sh gist,我们不再拉meteord:基本图像,而是建立它:

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

码头构建将每次运行,但只要要求不变,docker将使用它缓存的码头图像.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读