【问题标题】:Grails App running in Docker Container not using Local Packages在 Docker 容器中运行的 Grails 应用程序不使用本地包
【发布时间】:2021-08-02 18:08:47
【问题描述】:

我目前正在尝试通过 docker-compose 与数据库一起运行 Grails 2.3.11 中的应用程序。我已经启动并运行了数据库没有问题,并且应用程序容器设置了 grails 并启动了编译过程,但是每次我停止并重新启动包时它都会继续下载所有包。这成为一个问题,因为我们必须下载如此多的包(并且由于 Grails 2,我们必须解决许多错误)。我试图将我的本地 grails 文件夹挂载到容器中,让它从这些文件夹中运行,但它似乎没有任何成功。是否有什么明显的我做错了,或者我可以通过某种方式轻松检查问题可能出在哪里?

我也在尝试将所有本地数据库信息映射到有问题的 mysql 容器中。但我还没有深入研究它,如果你发现一个明显的问题会有所帮助。

docker-compose.yml:

version: '2'
services:
  grails:
    image: ibbrussell/grails:2.3.11
    command: run-app
    volumes:
      - ~/.m2:/home/developer/.m2
      - ~/.gradle:/home/developer/.gradle
      - ~/.grails:/home/developer/.grails
      - ./:/app
    ports:
      - "8080:8080" #Grails default port
      - "5005:5005" #Grails debug port
    links:
      - db
    deploy:
      resources:
        limits:
          memory: 4G
        reservations:
          memory: 4G
  db:
    image: mysql:5.6
    container_name: grails_mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 1
      MYSQL_DATABASE: grails
    volumes:
      - "/usr/local/mysql/data:/var/lib/mysql"

Dockerfile:

FROM java:8

# Set customizable env vars defaults.
ENV GRAILS_VERSION 2.3.11

# Install Grails
WORKDIR /usr/lib/jvm
RUN wget https://github.com/grails/grails-core/releases/download/v$GRAILS_VERSION/grails-$GRAILS_VERSION.zip && \
    unzip grails-$GRAILS_VERSION.zip && \
    rm -rf grails-$GRAILS_VERSION.zip && \
    ln -s grails-$GRAILS_VERSION grails

# Setup Grails path.
ENV GRAILS_HOME /usr/lib/jvm/grails
ENV PATH $GRAILS_HOME/bin:$PATH
ENV GRAILS_OPTS="-XX:MaxPermSize=4g -Xms4g -Xmx4g"

# Create App Directory
RUN mkdir /app

# Set Workdir
WORKDIR /app

# Set Default Behavior
ENTRYPOINT ["grails"]

【问题讨论】:

  • 您是否需要在要运行它的同一容器中构建 Grails 应用程序?

标签: docker grails docker-compose


【解决方案1】:

所以我使用的映射最终不正确。我正在从一篇文章中删除文件映射,并在尝试另一个工作映射后结束了工作。我在下面进行了切换:

原文:

volumes:
      - ~/.m2:/home/developer/.m2
      - ~/.gradle:/home/developer/.gradle
      - ~/.grails:/home/developer/.grails
      - ./:/app

新:

volumes:
      - ~/.m2:/root/.m2
      - ~/.gradle:/root/.gradle
      - ~/.grails:/root/.grails
      - ./:/app

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    相关资源
    最近更新 更多