【发布时间】: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