我在 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
有人可以帮助我将我的本地修改推送到码头图像吗?
答案 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"
中进行更改