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 前面端口指代宿主端口号,后者表示容器内部的端口号