美文网首页
Docker构建JavaWeb项目

Docker构建JavaWeb项目

作者: 宸雨 | 来源:发表于2017-10-23 14:25 被阅读13次

Docker 配置项目

主环境搭建(tomcat)

步骤如下:

1.拉取基准镜像:docker pull hub.c.163.com/public/ubuntu:16.04-tools

2.配置Dockerfile:

# Ubuntu MYNF Dockerfile
#
###base system
FROM hub.c.163.com/public/ubuntu:16.04-tools

###auther
MAINTAINER crazyxxl "1228785231@qq.com"

###config java env begin
ADD jdk1.8.0_144 /usr/local/java
RUN ls /usr/local/java/
ENV JAVA_HOME /usr/local/java
ENV PATH $JAVA_HOME/bin:$PATH
ENV CLASSPATH .:$JAVA_HOME/lib
###config java env end

###config jms begin
ADD apache-activemq-5.5.0 /usr/local/jms
###config jms end

COPY apache-tomcat-8.5.20 /usr/local/tomcat/apache-tomcat-8.5.20/
COPY mynf.war /usr/local/tomcat/apache-tomcat-8.5.20/webapps/
COPY dist /usr/local/tomcat/apache-tomcat-8.5.20/webapps/ROOT/
RUN chmod +x /usr/local/tomcat/apache-tomcat-8.5.20/*
RUN chmod +x /usr/local/tomcat/apache-tomcat-8.5.20/bin/*.sh
EXPOSE 8080 60000
CMD /usr/local/jms/bin/activemq start
ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.5.20/bin/catalina.sh run

3.构建镜像

docker build -t xxl/ubuntu/mynf .

构建mongo镜像

1.拉取mongodb镜像:docker pull hub.c.163.com/public/mongodb:3.2.0

2.导出宿主机上面的mongo数据,并将其放置在/data 下面

mongodump  -d mynf -o /data

2.启动镜像:

docker run --name mynf_mongo -v /data:/mnt -d hub.c.163.com/public/mongodb:3.2.0

备注:-v 表示把宿主机子上面的/data 挂在到容器的/mnt下面。这样/data下面的数据就可以被容器访问了

3.进入容器

docker exec -it mynf_mongo bash

4.导入数据

mongorestore  -d mynf --dir /mnt/mynf

5.创建用户

use mynf;
db.createUser({user:"root",pwd:"admin",roles:[]});

构建mysql环境

1.拉取mysql镜像:

docker pull hub.c.163.com/library/mysql:latest

2.导出宿主镜像:

mysqldump -u root -p test > test.sql

3.创建挂载文件夹:

mkdir -p /data/mysql

4.启动镜像

docker run --name MYNF-mysql  -v /data/mynf:/mnt   -e MYSQL_ROOT_PASSWORD=mima -d hub.c.163.com/library/mysql

5.进入镜像:

docker exec -it MYNF-mysql bash

6.导入数据

mysql -uroot -pPSW -e source /mnt/mynf.sql

连接容器启动项目

docker run --name mynf_server --link MYNF-mysql:mysql --link mynf_mongo:mongo -p 8080:8080  -d xxl/ununtu/mynf

备注:--name 表示容器名称 --link MYNF-mysql:表示连接容器名称,mysql 连接名称 -p 前面端口指代宿主端口号,后者表示容器内部的端口号

相关文章

网友评论

      本文标题:Docker构建JavaWeb项目

      本文链接:https://www.haomeiwen.com/subject/qihauxtx.html