美文网首页
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