来自Jhipster的泊坞窗图像中的同步文件夹

时间:2017-01-03 14:44:01

标签: docker dockerfile jhipster docker-windows

我在 Window 下的docker中使用 Jhipster

我按照tuto我无法同步我在泊坞窗图片中的更改

我想拥有自己的jhipster图像。我创建了新的

general03@L3F2GPK1F9W0 MINGW64 ~/jhipster/app/src/main/docker
$ docker build -t general03-jhipster .
Sending build context to Docker daemon 5.632 kB
Step 1 : FROM jhipster/jhipster
 ---> 0ae13f5d5a79
Step 2 : ADD . /app
 ---> Using cache
 ---> 1a8aaf63bf7e
Step 3 : ENV JHIPSTER_SLEEP 0
 ---> Using cache
 ---> 67a9ab5ce70a
Step 4 : ADD *.war /app.war
No source files were specified

在我的Dockerfile中,我复制了原始jhipster Dockerfile并替换了第一行和ADD . /app

FROM ubuntu:trusty

ADD . /app

ENV JHIPSTER_SLEEP 0

# add directly the war
ADD *.war /app.war

RUN sh -c 'touch /app.war'
VOLUME /tmp
EXPOSE 8080
CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \
    sleep ${JHIPSTER_SLEEP} && \
    java -Djava.security.egd=file:/dev/./urandom -jar /app.war

我看到docker images但没有 REPOSITORY TAG 的图像! 因此,当我尝试启动docker run 67a9ab5ce70a时出现此错误

C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: No command specified.docker run 67a9ab5ce70a

有人可以帮助我将我的本地修改推送到码头图像吗?

1 个答案:

答案 0 :(得分:0)

当你说

docker build -t general03-jhipster .

表示" 构建基于docker文件名为 general03-jhipster 的泊坞窗图片,位于& #34;

所以你通常应该使用docker run general03-jhipster来运行它,但是没有参数,在你提供端口绑定之前这不会起作用

表示默认的JHipster配置和 dev配置文件

你应该跑

docker run --rm -p 8080:8080 general03-jhipster

如果失败,您可以在prod模式下启动,因此需要一些数据库绑定。在命令行中传递此信息可能会变得混乱。在这里你应该看看JHipsters Docker compose support,使用docker compose来管理你的所有数据库,elasticsearch实例等。

修改:我第一次没有注意到这个错误

Step 4 : ADD *.war /app.war
No source files were specified

所以很容易,你没有生成一个war文件,所以很明显Docker构建失败了。

使用

./mvnw package -Pprod docker:build

./gradlew build -Pprod bootRepackage buildDocker

生成适当的docker build。

如果您想更改某些特定于Docker的思考(并使用gradle),您可以在" gradle / docker.gradle"

中进行更改