今天闲下来想起本身写的web项目部署上去玩下,以前有弄过docker,很久没弄忘记不少,因此弄了一次以后决定写下来,之后不记得能够翻下嘻嘻嘻。css
1. 首先是去官网把docker下载下来安装。html
https://docs.docker.com/docker-for-windows/install/
复制代码
2. 运行docker,拉取须要的tomcat镜像nginx
docker pull tomcat:版本号 复制代码
若是没有指定的版本,默认拉取最新版本的
web
3. 可验证拉取是否成功docker
docker run -p 8888:8080 tomcat
复制代码
-p映射端口 接着的是端口号 自选的端口:docker容器端口windows
最后在浏览器打开localhost:8888 便可看到tomcat页面浏览器
4. 部署web应用tomcat
我部署的方式是直接挂载我主机上的应用目录bash
docker run --privileged=true -v 映射文件夹地址:/usr/local/tomcat/webapps -d -p 8888:8080 --name tomcat_demo tomcat
复制代码
--privileged=true 给docker挂载的权限
--name 生成的容器名字
-d 后台运行
-v 文件路径 前面的是你本机要映射文件路径 后面是tomcat目录【默认的】复制代码
到这里咱们的项目已经挂载上去了,咱们能够经过一些命名查看本身的项目app
docker ps
// 查看docker正在运行的容器 PORTS能够看到正在运行的项目端口号 访问lcoalhost:8383便可
复制代码
5. 一些问题
在开始设置映射地址我写的tomcat目录是 /usr/local/tomcat/webapps/demo
这样致使的问题是请求地址时候要在后面加上demo, lcoalhost:8383/demo这样请求,可是请求到的页面是一片空白,个人css,js,html文件都没有加载进来,查看文件路径发现他们是没有demo路径的,因此要匹配好文件路径
由于个人文件夹名是jxhr,因此我打包好的web项目里面的js等静态文件路径是没问题的,因此我改变了映射tomcat目录,把demo去掉就没有问题了,直接 localhost:8383/jxhr 就能够访问到个人web项目。
6. 一些命令
我在访问路径的时候页面空白,我进去了我固然容器的目录中观看过是否请求问题,因此用到一些命令行,能够帮助你更快使用docker部署项目
docker exec -it 容器名称 /bin/bash // 查看容器目录复制代码
能够看到咱们进入到tomcat目录了
cd webapps // 进入项目中查看复制代码
ls // 查看webapps 里面的文件复制代码
能够清晰看到里面的目录,帮助你更快找到本身路径问题。
docker images // 查看docker中所有的容器复制代码
docker ps // 查看已经启动的所有u容器复制代码
docker stop 61c08f8d9699 // 中止正在运行的容器, CONTAINER ID:61c08f8d9699,也能够是容器名称复制代码
docker rm 61c08f8d9699 // 删除容器复制代码
nginx部署其实也是差很少,下一次再继续记录。