Browse Source

docker一键部署

zhenglingfeng 8 years ago
parent
commit
e600f7ae13

+ 6 - 0
hos-docker/esb/activemq/Dockerfile

@ -0,0 +1,6 @@
FROM daocloud.io/library/java
ADD apache-activemq-5.14.0-bin.tar.gz /
WORKDIR apache-activemq-5.14.0/bin/
ENTRYPOINT ./activemq start && tail -f /apache-activemq-5.14.0/data/activemq.log
EXPOSE 8161
EXPOSE 61616

BIN
hos-docker/esb/activemq/apache-activemq-5.14.0-bin.tar.gz


+ 54 - 0
hos-docker/esb/docker-compose.yml

@ -0,0 +1,54 @@
version: "2"
services:
    broker:
        build: /usr/local/esb/hos-broker
        container_name: broker
        ports:
            - "8099:8099"
        volumes:
            - /usr/local/esb/hos-broker/jar:/hos-broker/jar
        depends_on:
            - "arbiter"
            - "rest"
            - "mongodb"
            - "mysql"
            - "activemq"
    arbiter:
        build: /usr/local/esb/hos-arbiter
        container_name: arbiter
        ports:
            - "10135:10135"
        volumes:
            - /usr/local/esb/hos-arbiter/jar:/hos-arbiter/jar
        depends_on:
            - "mongodb"
            - "mysql"
            - "activemq"
    rest:
        build: /usr/local/esb/hos-rest
        container_name: rest
        ports:
            - "8088:8088"
        volumes:
            - /usr/local/esb/hos-rest/jar:/hos-rest/jar
        depends_on:
            - "mongodb"
            - "mysql"
            - "activemq"
    mongodb:
        build: /usr/local/esb/mongodb
        container_name: mongodb
        ports:
            - "27017:27017"
    mysql:
        build: /usr/local/esb/mysql
        container_name: mysql
        ports:
            - "3306:3306"
    activemq:
        build: /usr/local/esb/activemq
        container_name: activemq
        ports:
            - "61616:61616"
            - "8161:8161"
      

+ 9 - 0
hos-docker/esb/hos-arbiter/Dockerfile

@ -0,0 +1,9 @@
FROM daocloud.io/library/java
 
RUN mkdir -p /hos-arbiter
  
WORKDIR /hos-arbiter
ENV spring_profiles_active test
 
EXPOSE 10135
CMD tail -f /var/log/bootstrap.log

+ 1 - 0
hos-docker/esb/hos-arbiter/jar/remind.txt

@ -0,0 +1 @@
hos-arbiter程序包下载路径

+ 11 - 0
hos-docker/esb/hos-broker/Dockerfile

@ -0,0 +1,11 @@
FROM daocloud.io/library/java
ENV spring_profiles_active test
ADD apache-tomcat-8.5.11.tar.gz /
RUN touch /apache-tomcat-8.5.11/logs/catalina.out
WORKDIR /apache-tomcat-8.5.11/bin/
VOLUME ["/var/log/hos-broker/"]
CMD tail -f /apache-tomcat-8.5.11/logs/catalina.out
WORKDIR /apache-tomcat-8.5.11/bin/
EXPOSE 8099

BIN
hos-docker/esb/hos-broker/apache-tomcat-8.5.11.tar.gz


+ 1 - 0
hos-docker/esb/hos-broker/jar/remind.txt

@ -0,0 +1 @@
hos-broker程序包下载路径

+ 10 - 0
hos-docker/esb/hos-rest/Dockerfile

@ -0,0 +1,10 @@
FROM daocloud.io/library/java
RUN mkdir -p /hos-rest
  
WORKDIR /hos-rest
ENV spring_profiles_active test
 
VOLUME ["/var/log/hos-rest/"]
 
EXPOSE 8088
CMD tail -f /var/log/bootstrap.log

+ 1 - 0
hos-docker/esb/hos-rest/jar/remind.txt

@ -0,0 +1 @@
hos-rest程序包下载路径

+ 2 - 0
hos-docker/esb/mongodb/Dockerfile

@ -0,0 +1,2 @@
FROM daocloud.io/library/mongo
ADD fit_mongo.js /

+ 11 - 0
hos-docker/esb/mongodb/fit_mongo.js

@ -0,0 +1,11 @@
try{
    var db = connect('admin');
    if(db.system.users.find({'user':'esb'}).count() == 0){
        print('Ready to addUser...');
	db.createUser({user: "esb",pwd: "esb",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
    }else{
        print('Already exist user.')
    }
}catch(err){
    print('Error occured:' + err);
}

+ 10 - 0
hos-docker/esb/mysql/Dockerfile

@ -0,0 +1,10 @@
FROM daocloud.io/library/mysql
ADD user.sql /
ADD data.sql /
ADD mysql.cnf /
RUN rm /etc/mysql/conf.d/mysql.cnf
RUN cp mysql.cnf /etc/mysql/conf.d/
ENV MYSQL_ROOT_PASSWORD=123456
VOLUME ["/etc/mysql/conf.d"]
EXPOSE 3306

File diff suppressed because it is too large
+ 1586821 - 0
hos-docker/esb/mysql/data.sql


+ 4 - 0
hos-docker/esb/mysql/mysql.cnf

@ -0,0 +1,4 @@
[mysqld]
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[client]
default-character-set=utf8

+ 3 - 0
hos-docker/esb/mysql/user.sql

@ -0,0 +1,3 @@
create database hos1;
grant all privileges on *.* to hos@"%" identified by "123456";
flush privileges;

+ 26 - 0
hos-docker/esb/start.sh

@ -0,0 +1,26 @@
mkdir /usr/local/esb;
yum update;
chmod -R 777 /usr/local/esb;
yum -y install docker-io;
service docker start;
chkconfig docker on;
yum -y install epel-release
yum -y install python-pip
pip install docker-compose
cd /usr/local/esb;
docker-compose up --no-recreate
docker exec -it mysql /bin/bash -c "exec mysql -h localhost -u root -p123456 < /user.sql && exit;";
docker exec -it mysql /bin/bash -c "exec mysql -h localhost -u root -p123456 hos1 < /data.sql && exit;";
docker exec -it mongodb /bin/bash -c "exec mongo --host 127.0.0.1:27017 admin fit_mongo.js && exit;";
docker exec -it rest /bin/bash -c "java -Djava.security.egd=file:/dev/./urandom -jar /hos-rest/jar/hos-rest-1.3.0.jar && exit;";
docker exec -it arbiter /bin/bash -c "java -Djava.security.egd=file:/dev/./urandom -jar /hos-arbiter/jar/hos-arbiter-1.3.0.jar && exit;";
docker exec -it broker /bin/bash -c "rm -rf /apache-tomcat-8.5.11/webapps/hos-broker && unzip -oq /hos-broker/jar/hos-broker-1.3.0.war -d /apache-tomcat-8.5.11/webapps/hos-broker && ./startup.sh && tail -f /apache-tomcat-8.5.11/logs/catalina.out && exit;";
docker exec -it admin /bin/bash -c "./startup.sh && tail -f /apache-tomcat-8.5.11/logs/catalina.out && exit;";
scp root@172.19.0.1:/usr/local/esb/docker-compose.yml /