On Tue, Nov 14, 2017 at 3:11 PM, Tien Hung Nguyen <[email protected]>
wrote:

> Hello everybody,
>
> I'm new to OpenShift Origin and I have a few questions:
>
> My goal is to run an existing DevOps Dashboard Project on OpenShift
> Origin. The project does already workes on Docker (with Docker-compose.yaml
> and Dockerfile), consisting of the following 3 containers:
> 1. MongoDB
> 2. API
> 3. UI
>
> In the Dockerfile of the API project I have the following commands:
>
> FROM docker.io/openjdk:8-jre
>
> MAINTAINER [email protected]
>
>
> ENV SPRING_DATA_MONGODB_DATABASE=dashboard
> ENV SPRING_DATA_MONGODB_HOST=hygieia-mongodb
> ENV SPRING_DATA_MONGODB_PORT=27017
> ENV SPRING_DATA_MONGODB_USERNAME=dashboarduser
> ENV SPRING_DATA_MONGODB_PASSWORD=dbpassword
> ENV AUTH_EXPIRATION_TIME=7200000
> ENV jasypt.encryptor.password=hygieiasecret
> ENV AUTH_SECRET=hygieiasecret
>
> RUN \
> mkdir /hygieia
>
> #COPY hygieia/ /hygieia
> COPY *.jar /hygieia/
> COPY properties-builder.sh /hygieia/
>
> WORKDIR /hygieia
>
> VOLUME ["/hygieia/logs"]
>
> EXPOSE 8080
> CMD ./properties-builder.sh &&\
> java -Djava.security.egd=file:/dev/./urandom -jar api.jar
> --spring.config.location=/hygieia/dashboard.properties
>
> The Docker-compose.yaml is as follows:
> mongodb:
>   image: mongo:latest
>   environment:
>     - MONGODB_USERNAME=dashboarduser
>     - MONGODB_DATABASE=dashboarddb
>     - MONGODB_PASSWORD=dbpassword
>   volumes:
>     - mongo:/data/db:rw
>   ports:
>     - "27017:27017"
>
> hygieia-api:
>   image: hygieia-api:latest
>   volumes:
>   - logs:/hygieia/logs
>   environment:
>     - jasypt.encryptor.password=hygieiasecret
>     - SPRING_DATA_MONGODB_DATABASE=dashboarddb
>     - SPRING_DATA_MONGODB_HOST=mongodb
>     - SPRING_DATA_MONGODB_PORT=27017
>     - SPRING_DATA_MONGODB_USERNAME=dashboarduser
>     - SPRING_DATA_MONGODB_PASSWORD=dbpassword
>     - AUTH_EXPIRATION_TIME=7200000
>     - AUTH_SECRET=hygieiasecret
>   links:
>   - mongodb
>
> hygieia-ui:
>   image: hygieia-ui:latest
>   container_name: hygieia-ui
>   ports:
>   - "8088:80"
>   links:
>   - hygieia-api
>
> ==> The sub projects (API, UI) have a sub directory called "docker". In
> this directory there is a Dockerfile, a .jar file, and relevant .properties
> and .sh files).
>
> I have specified a Docker build strategy in the DeploymentConfig of the
> template file pointing to my Dockerfiles,
>

DeploymentConfig or BuildConfig?



> however, it says that it can't find my files while building the images,
> which I have defined (*.jar, .sh file and properties file). My question is
> now, how can I bring those files into the build process that they work with
> my dockerfiles?
>

Have you been through our build documentation?
https://docs.openshift.org/latest/dev_guide/builds/index.html

in particular:
https://docs.openshift.org/latest/dev_guide/builds/build_inputs.html

and
https://docs.openshift.org/latest/dev_guide/builds/build_strategies.html#docker-strategy-options

are probably relevant to your goals.



>
>
> Furthermore, could you tell me what is the best way to create a new
> Database inside MongoDB when initializing the pods/containers with the help
> of the .yaml template file? Which is the best section to do that?
>

A post-deployment hook in the database deploymentconfig, or a
pre-deployment hook in your application deploymentconfig, is likely your
best bet for initializing the DB.

https://docs.openshift.org/latest/dev_guide/deployments/deployment_strategies.html#lifecycle-hooks

For example our rails quickstart does a db migration as part of the
application's pre deployment hook:
https://github.com/openshift/origin/blob/master/examples/quickstarts/rails-postgresql.json#L146-L169

(this means the DB pod must be already up, and the app pod communicates
remotely to the db pod to initialize it)



>
>
>
> _______________________________________________
> users mailing list
> [email protected]
> http://lists.openshift.redhat.com/openshiftmm/listinfo/users
>
>


-- 
Ben Parees | OpenShift
_______________________________________________
users mailing list
[email protected]
http://lists.openshift.redhat.com/openshiftmm/listinfo/users

Reply via email to