【发布时间】:2019-10-18 13:52:44
【问题描述】:
我想用 docker 运行 hybris。
我正在尝试创建一个 docker 来运行 hybris。
谁能帮我解决这个问题?
这是我的代码:
更新问题:
当我进入容器(ubuntu)并尝试构建hybris时,总是出现错误。
我创建了 docker-compose 和 dockerfile。但是,当我在容器中运行 ant clean all 时,构建总是失败。
[![![在此处输入图片描述][1]][1]
version: '3.3'
services:
db:
image: mysql:5.6
volumes:
- //C/dockerVolumes/db_local_hybris:/var/lib/mysql
container_name: mysql_hybris
hostname: mysql_hybris
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=***
- MYSQL_DATABASE=***
- MYSQL_USER=***
hybris:
image: miltex/jdk:hybrisDevs
build:
context: .
container_name: hybris_dev
hostname: hybris_dev
ports:
- "8009:8009"
- "8010:8010"
- "9001:9001"
- "9002:9002"
- "1099:1099"
tty: true
links:
- db
Dockerfile
FROM miltex/jdk:1.8
#update
RUN apt-get update
## Run Initial Ant ##
RUN mkdir -p /app/hybris_dev
COPY ./hybris/HYBRISCOMM6700P_10-80003492.ZIP /app/hybris_dev/
RUN cd /app/hybris_dev && unzip HYBRISCOMM6700P_10-80003492.ZIP
#COPY ./bin/hybris-wrapper.sh /app/hybris_dev/hybris/bin/platform/
RUN mkdir /app/hybris_dev/hybris/bin/custom
COPY ./src/custom /app/hybris_dev/hybris/bin/custom
RUN cd /app/hybris_dev/installer && rm -R recipes
RUN mkdir /app/hybris_dev/installer/recipes
COPY ./src/custom/recipes /app/hybris_dev/installer/recipes
#CMD /app/hybris_dev/intaller/install.sh -r local setup ; /app/hybris_dev/hybris/bin/custom/platform/setantenv.sh ; ant clean all
## Copy hybris-wrapper to configure template properties at runtime ##
COPY ./bin/hybris-wrapper.sh /hybris-wrapper.sh
## Expose AJP S-AJP HTTP HTTPS RMI ports ##
EXPOSE 8009 8010 9001 9002 1099
RUN chmod -R 777 /app
#RUN chmod +x /hybris-wrapper.sh
# Run Hybris server
#ENTRYPOINT ["/hybris-wrapper.sh"]
[1]: https://i.stack.imgur.com/uoK3E.png
【问题讨论】:
-
Mysql 运行成功。但是,在 debian 中出现错误。
-
听起来您正在寻找 Dockerfile 来构建自定义映像。在容器启动时尝试绑定挂载和安装整个应用程序并不是典型的最佳实践。
-
在这种情况下有什么好的做法?
-
将应用程序构建成镜像。在没有任何
volumes:、command:、container_name、hostname:或links:选项的情况下运行它。 -
我总是必须使用更新的源代码自定义安装容器。
标签: docker docker-compose hybris