Last active
July 16, 2019 16:57
-
-
Save millerdz/289ef2142c4f048648394295afea4170 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.3" | |
services: | |
database: | |
image: <dtr hostname>/java/database | |
# set default mysql root password, change as needed | |
environment: | |
MYSQL_ROOT_PASSWORD: mysql_password | |
# Expose port 3306 to host. | |
ports: | |
- "3306:3306" | |
networks: | |
- back-tier | |
- datadog-agent | |
webserver: | |
image: <dtr hostname>/admin/java_web | |
ports: | |
- "8080:8080" | |
networks: | |
- front-tier | |
- back-tier | |
- datadog-agent | |
networks: | |
back-tier: | |
external: true | |
front-tier: | |
external: true | |
datadog-agent: | |
external: true | |
secrets: | |
mysql_password: | |
external: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Build the app using maven in a container | |
# | |
FROM maven:3.5.2-jdk-8-alpine AS devenv | |
WORKDIR /usr/src/java-app | |
COPY app/pom.xml . | |
RUN mvn -B -f pom.xml -s /usr/share/maven/ref/settings-docker.xml dependency:resolve | |
COPY ./app . | |
RUN mvn -B -s /usr/share/maven/ref/settings-docker.xml package -DskipTests | |
# | |
# deploy application to tomcat | |
# | |
FROM tomcat:7-jre8 | |
LABEL maintainer="Sophia Parafina <sophia.parafina@docker.com>" | |
# tomcat-users.xml sets up user accounts for the Tomcat manager GUI | |
ADD tomcat/tomcat-users.xml $CATALINA_HOME/conf/ | |
# ADD tomcat/catalina.sh $CATALINA_HOME/bin/ | |
ADD tomcat/run.sh $CATALINA_HOME/bin/run.sh | |
RUN chmod +x $CATALINA_HOME/bin/run.sh | |
# add MySQL JDBC driver jar | |
ADD tomcat/mysql-connector-java-5.1.36-bin.jar $CATALINA_HOME/lib/ | |
# create mount point for volume with application | |
WORKDIR $CATALINA_HOME/webapps/ | |
COPY --from=devenv /usr/src/java-app/target/java-web.war . | |
# enable data dog | |
ADD apm/dd-java-agent.jar $CATALINA_HOME/lib/ | |
ENV DD_AGENT_HOST=datadog-agent \ | |
DD_TRACE_AGENT_PORT=8126 \ | |
JAVA_OPTS="$JAVA_OPTS -javaagent:$CATALINA_HOME/lib/dd-java-agent.jar" | |
# start tomcat7 with remote debugging | |
EXPOSE 8080 | |
CMD ["run.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>com.docker</groupId> | |
<artifactId>javaweb</artifactId> | |
<packaging>war</packaging> | |
<version>0.0.1-SNAPSHOT</version> | |
<name>java-web</name> | |
<url>http://maven.apache.org</url> | |
<dependencies> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-webmvc</artifactId> | |
<version>3.2.4.RELEASE</version> | |
</dependency> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>servlet-api</artifactId> | |
<version>2.5</version> | |
<scope>provided</scope> | |
</dependency> | |
<dependency> | |
<groupId>javax.servlet</groupId> | |
<artifactId>jstl</artifactId> | |
<version>1.2</version> | |
</dependency> | |
<dependency> | |
<groupId>mysql</groupId> | |
<artifactId>mysql-connector-java</artifactId> | |
<version>5.1.21</version> | |
</dependency> | |
<dependency> | |
<groupId>org.hibernate</groupId> | |
<artifactId>hibernate-validator</artifactId> | |
<version>4.2.0.Final</version> | |
</dependency> | |
<dependency> | |
<groupId>org.hibernate</groupId> | |
<artifactId>hibernate-entitymanager</artifactId> | |
<version>4.1.9.Final</version> | |
</dependency> | |
<dependency> | |
<groupId>javax.transaction</groupId> | |
<artifactId>jta</artifactId> | |
<version>1.1</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-jdbc</artifactId> | |
<version>3.2.0.RELEASE</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-orm</artifactId> | |
<version>3.2.0.RELEASE</version> | |
</dependency> | |
<dependency> | |
<groupId>org.codehaus.jackson</groupId> | |
<artifactId>jackson-mapper-asl</artifactId> | |
<version>1.9.12</version> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.data</groupId> | |
<artifactId>spring-data-jpa</artifactId> | |
<version>1.3.0.RELEASE</version> | |
<exclusions> | |
<exclusion> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-aop</artifactId> | |
</exclusion> | |
</exclusions> | |
</dependency> | |
<dependency> | |
<groupId>com.datadoghq</groupId> | |
<artifactId>dd-trace-api</artifactId> | |
<version>0.30.0</version> | |
</dependency> | |
</dependencies> | |
<build> | |
<finalName>java-web</finalName> | |
</build> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
data: | |
mysql_password: RG9ja2VyY29uISEh | |
kind: Secret | |
metadata: | |
labels: | |
com.docker.stack.namespace: signup | |
name: mysql-password | |
namespace: default | |
type: Opaque | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
com.docker.service.id: signup-database | |
com.docker.service.name: database | |
com.docker.stack.namespace: signup | |
name: database | |
namespace: default | |
spec: | |
ports: | |
- name: database | |
port: 3306 | |
protocol: TCP | |
targetPort: 3306 | |
nodePort: 32768 | |
selector: | |
com.docker.service.id: signup-database | |
com.docker.service.name: database | |
com.docker.stack.namespace: signup | |
sessionAffinity: None | |
type: NodePort | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
com.docker.service.id: signup-dotnet-api | |
com.docker.service.name: dotnet-api | |
com.docker.stack.namespace: signup | |
name: dotnet-api | |
namespace: default | |
spec: | |
ports: | |
- name: dotnet-api | |
port: 80 | |
protocol: TCP | |
targetPort: 80 | |
nodePort: 32769 | |
selector: | |
com.docker.service.id: signup-dotnet-api | |
com.docker.service.name: dotnet-api | |
com.docker.stack.namespace: signup | |
type: NodePort | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
com.docker.service.id: signup-java-web | |
com.docker.service.name: java-web | |
com.docker.stack.namespace: signup | |
name: java-web | |
namespace: default | |
spec: | |
ports: | |
- name: java-web | |
port: 8080 | |
protocol: TCP | |
targetPort: 8080 | |
nodePort: 32770 | |
selector: | |
com.docker.service.id: signup-java-web | |
com.docker.service.name: java-web | |
com.docker.stack.namespace: signup | |
type: NodePort | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
com.docker.service.id: signup-database | |
com.docker.service.name: database | |
com.docker.stack.namespace: signup | |
name: database | |
namespace: default | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
com.docker.service.id: signup-database | |
com.docker.service.name: database | |
com.docker.stack.namespace: signup | |
template: | |
metadata: | |
labels: | |
com.docker.service.id: signup-database | |
com.docker.service.name: database | |
com.docker.stack.namespace: signup | |
spec: | |
containers: | |
- env: | |
- name: MYSQL_ROOT_PASSWORD | |
valueFrom: | |
secretKeyRef: | |
name: mysql-password | |
key: mysql_password | |
image: ip172-18-0-7-bkmlskp6u0dg00c6r98g.direct.beta-hybrid.play-with-docker.com/java/database:latest | |
imagePullPolicy: IfNotPresent | |
name: database | |
ports: | |
- containerPort: 3306 | |
protocol: TCP | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
com.docker.service.id: signup-dotnet-api | |
com.docker.service.name: dotnet-api | |
com.docker.stack.namespace: signup | |
name: dotnet-api | |
namespace: default | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
com.docker.service.id: signup-dotnet-api | |
com.docker.service.name: dotnet-api | |
com.docker.stack.namespace: signup | |
template: | |
metadata: | |
labels: | |
com.docker.service.id: signup-dotnet-api | |
com.docker.service.name: dotnet-api | |
com.docker.stack.namespace: signup | |
spec: | |
containers: | |
- image: ip172-18-0-7-bkmlskp6u0dg00c6r98g.direct.beta-hybrid.play-with-docker.com/dotnet/dotnet_api:core | |
imagePullPolicy: IfNotPresent | |
name: dotnet-api | |
ports: | |
- containerPort: 80 | |
protocol: TCP | |
--- | |
apiVersion: extensions/v1beta1 | |
kind: Deployment | |
metadata: | |
labels: | |
com.docker.service.id: signup-java-web | |
com.docker.service.name: java-web | |
com.docker.stack.namespace: signup | |
name: java-web | |
namespace: default | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
com.docker.service.id: signup-java-web | |
com.docker.service.name: java-web | |
com.docker.stack.namespace: signup | |
template: | |
metadata: | |
labels: | |
com.docker.service.id: signup-java-web | |
com.docker.service.name: java-web | |
com.docker.stack.namespace: signup | |
spec: | |
containers: | |
- env: | |
- name: BASEURI | |
value: http://dotnet-api/api/users | |
- name: DD_AGENT_HOST | |
valueFrom: | |
fieldRef: | |
fieldPath: status.hostIP | |
- name: DD_TRACE_AGENT_PORT | |
value: 8126 | |
image: ip172-18-0-7-bkmlskp6u0dg00c6r98g.direct.beta-hybrid.play-with-docker.com/java/java_web:2 | |
imagePullPolicy: IfNotPresent | |
name: java-web | |
ports: | |
- containerPort: 8080 | |
protocol: TCP |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment