准备docker环境
去官网下载docker环境,此处使用win10的docker环境,若早期版本的windows要安装额外的工具
下载基础环境
本次决定搭建的docker为订书系统,其基于jsp编写,运行在tomcat上,数据库依赖MySQL,故需要一个MySQL和tomcat环境(tomcat环境自带Java)
去网易镜像中心下载镜像,网易镜像中心与官方镜像中心保持同步更新,而且对于国内来说速度更快
部署MySQL镜像
下载
启动
使用命令启动mysql的docker,指定本机8006
端口映射到docker的3306
端口,同时设置数据库root
用户密码为root -d
指定为后台运行
docker run -d -p 8006:3306 -e MYSQL_ROOT_PASSWORD=root hub.c.163.com/library/mysql:latest
使用命令查看当前运行的docker
docker ps
测试
部署Tomcat镜像
下载
查看当前已经下载的镜像
PS D:\JAVA WORKSPACE\dockerTemp> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/library/tomcat latest 72d2be374029 10 months ago 292MB
hub.c.163.com/library/mysql latest 9e64176cd8a2 14 months ago 407MB
编写Dockerfile文件将工程移到tomcat的webapps目录下
from hub.c.163.com/library/tomcat
MAINTAINER fjy8018 fjy8018@gmail.com
COPY /OrderBooks /usr/local/tomcat/webapps/OrderBooks
使用docker build -t orderbook .
命令将docker打包成镜像
启动
使用命令启动带工程的tomcat,指定访问端口为8888
docker run -d -p 8888:8080 orderbook:latest
配置
由于使用了jsp+jdbc作为数据库连接,故需要进入容器内部将jdbc的jar复制到tomcat的lib目录下,否则tomcat会报无法加载驱动,使用命令进入容器内部
docker exec -it {容器ID} /bin/sh
使用exec命令比attach优势在于,exec进入容器后再使用exit命令不会令容器停止
进入容器将工程的lib复制到tomcat中的lib
PS D:\JAVA WORKSPACE\dockerTemp> docker exec -it 6fe288a25be0 /bin/sh
# cp /usr/local/tomcat/webapps/OrderBooks/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.45-bin.jar /usr/local/tomcat/lib
# exit
PS D:\JAVA WORKSPACE\dockerTemp> docker restart 6fe288a25be0
6fe288a25be0
测试
提交到网易镜像仓库
提交修改的镜像
docker commit
提交修改的镜像
PS D:\JAVA WORKSPACE\dockerTemp> docker commit 6fe288a25be0 orderbooks
sha256:30c6a878adc80f54118f5c67c39c271baa5dc68006aa26b64ef5281832fb4b37
PS D:\JAVA WORKSPACE\dockerTemp> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
orderbooks latest 30c6a878adc8 5 seconds ago 301MB
orderbook latest a57e26354272 10 minutes ago 300MB
hub.c.163.com/library/tomcat latest 72d2be374029 10 months ago 292MB
hub.c.163.com/library/mysql latest 9e64176cd8a2 14 months ago 407MB
提交mysql容器的修改
PS D:\JAVA WORKSPACE\dockerTemp> docker commit 43146ddfc771 hub.c.163.com/fjy8018/mysql-orderbooks
sha256:37a82bac5f71d54e3ff31b0ddd795604e46d4f2e4dde8a6a73d556cc5f26411a
PS D:\JAVA WORKSPACE\dockerTemp> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/fjy8018/mysql-orderbooks latest 37a82bac5f71 3 seconds ago 407MB
orderbooks latest 30c6a878adc8 13 minutes ago 301MB
hub.c.163.com/fjy8018/tomcat-orderbooks latest 30c6a878adc8 13 minutes ago 301MB
orderbook latest a57e26354272 23 minutes ago 300MB
hub.c.163.com/library/tomcat latest 72d2be374029 10 months ago 292MB
hub.c.163.com/library/mysql latest 9e64176cd8a2 14 months ago 407MB