Docker+tomcat+mysql部署商城項目
1、新建工作目錄
mkdir mysql //新建工作目錄
cp slsaledb-2014-4-10.sql mysql/上傳並復制商城項目的庫文件到工作目錄
cd mysql //進入工作目錄
2、編輯dockerfile文件vi Dockerfile //編輯dockerfile文件
#基於的基礎鏡像
FROM guyton/centos6
#基本信息
MAINTAINER this is msyql images <jsh>
#將商城項目的庫文件復制到容器中
COPY slsaledb-2014-4-10.sql /
#容器中安裝mysql
RUN yum -y install mysql mysql-server
RUN /etc/init.d/mysqld start &&\
mysql -e "grant all privileges on slsaledb. to ‘root‘@‘%‘ identified by ‘123456‘;" &&\
mysql -e "grant all privileges on .* to ‘root‘@‘localhost‘ identified by ‘abc123‘;" &&\
mysql -uroot -pabc123 < /slsaledb-2014-4-10.sql
EXPOSE 3306
#開啟守護進程
CMD ["mysqld_safe"]
3、制作鏡像
docker build -t centos6:mysql . //制作mysql鏡像
4、開啟鏡像
docker run --name=mysqlserver -d -P centos6:mysql //啟動mysql鏡像
二、Docker部署tomcat
1、新建工作目錄mkdir tomcat
2、上傳tomcat所需文件到工作目錄下
cd tomcat tar xf jdk-8u144-linux-x64.tar.gz -C /root/tomcat //上傳並解壓jdk軟件包 tar xf apache-tomcat-8.5.23.tar.gz -C /root/tomcat //上傳並解壓tomcat軟件包 tar xf SLSaleSystem.tar.gz -C /root/tomcat/ //上傳並解壓商城項目軟件包
3、編輯dockerfile文件vi Dockerfile //編輯dockfile文件
#基礎鏡像
FROM centos
#基本信息
MAINTAINER this is tomcat image <jsh>
#將jdk環境包添加到容器中
ADD jdk1.8.0_144 /usr/local/java
#配置容器內java環境
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
#添加tomcat軟件包到容器
ADD apache-tomcat-8.5.23 /usr/local/tomcat8
#啟動tomcat
ENTRYPOINT ["/usr/local/tomcat8/bin/catalina.sh","run"]
#指定端口
EXPOSE 8080
4、更改配置文件vi apache-tomcat-8.5.23/conf/server.xml //修改tomcat主配置文件
vi SLSaleSystem/WEB-INF/classes/jdbc.properties //修改商城項目數據庫連接文件
5、制作鏡像docker build -t tomcat:centos . //制作tomcat鏡像
6、開啟鏡像
docker run -d --name tomcat1 --link mysqlserver:mysqlserver -v /root/tomcat/:/data1 -p 80:8080 tomcat:centos //啟動鏡像(容器互聯,數據卷,端口映射)
docker ps //查看容器狀態
三、web驗證訪問192.168.80.100
總結:
該項目主要是用來測試、在docker中部署各種服務,本項目在容器中部署web服務器tomcat,以及在容器中部署數據庫服務器mysql,然後通過數據卷技術實現商城項目的掛載,最後通過容器互聯技術實現容器之間的連接。當然,在實際應用場景中,不會將mysql部署在dockers中。
Docker+tomcat+mysql部署商城項目